这个程序是书上的源程序。我稍作了修改。供你参考。
#include<stringh>/用到了字符串处理函数:strcmp/
#include<stdioh>
struct person
{
char name[30];/存放姓名/
int count;/存放票数/
}leader[4];/定义一个可以容纳4个人数据的结构体数组/
int main()
{
int i,j;
char leader_name[30];
int num;
printf("候选人姓名:\n");
for(i=0;i<4;i++)
{
scanf("%s",leader[i]name);/输入投票/
leader[i]count=0;
}
printf("投票人数:\n");
scanf("%d",&num);/输入参与投票的人数/
printf("投票情况:\n");
for(i=1;i<=num;i++)
{
scanf("%s",leader_name);
for(j=0;j<4;j++)
if(strcmp(leader_name,leader[j]name)==0)/strcmp函数,如果输入的名字与哪个投票人的名字相同,就在他的票数上累加一/
leader[j]count++;
}
printf("Result:\n");
for(i=0;i<4;i++)
printf("%-10s:%4d\n",leader[i]name,leader[i]count);
return 0;
}
struct 结构体名
{
结构体内容;
}structa[5];
structa[5]={{},{},{},{},{}};
数组的角标只能用常量表示,这是C语言的一个语法规则
Option Explicit
Dim sdt(1 To 10) As Double
Private Sub Command1_Click()
Dim i As Integer, max As Double
max = sdt(1)
For i = 1 To 10
If sdt(i) > max Then
max = sdt(i)
End If
Next i
Text1Text = Str(max)
End Sub
Private Sub Command2_Click()
Dim i As Integer, min As Double
min = sdt(1)
For i = 1 To 10
If sdt(i) < min Then
min = sdt(i)
End If
Next i
Text2Text = Str(min)
End Sub
Private Sub Command3_Click()
Dim i As Integer, aver As Double
For i = 1 To 10
aver = aver + sdt(i)
Next i
aver = aver / 10
Text3Text = Str(aver)
End Sub
Private Sub Command4_Click()
Dim i As Integer
For i = 1 To 10
sdt(i) = InputBox("input sdt(i) grade")
Next i
For i = 1 To 10
Picture1Print sdt(i)
Next i
End Sub
Dim a(1 To 15) As Integer
Private Sub Command1_Click()
Dim i As Integer, j As Integer, tmp As Integer
For i = 1 To 15
For j = 1 To 15 - i
If a(j) < a(j + 1) Then
tmp = a(j)
a(j) = a(j + 1)
a(j + 1) = tmp
End If
Next j, i
Print "排序后的数组为:";
For i = 1 To 15
Print a(i) & " ";
Next
End Sub
Private Sub Form_Load()
Dim i As Integer
MeAutoRedraw = True
Print "排序前的数组为";
For i = 1 To 15
Randomize
a(i) = Rnd 89 + 10
Print a(i) & " ";
Next
End Sub
#include <stdioh> //包含头文件
void main() //主函数开始
{
int a[8]; //定义了一个有0——8总共9个元素的数组
int i,j,t; //定义了3个变量,其中i,j用来循环,t用来交换数据
printf("请输入8个整数:"); //输出:“请输入8个整数:”
for(i=0;i<8;i++) //这个for循环是用来将输入的8个数存入到数组中,比如:i=0,a[0]=2;i=1,a[1]=4;i=2,a[2]=8;i=3,a[3]=0;i=4,a[4]=1;i=5,a[5]=3;i=6,a[6]=8;i=7,a[7]=6;i自加到8的时候,i不再小于8,则跳出该for循环,进入下一条指令,即下一个for循环。
scanf("%d",&a[i]);
for(i=1;i<8;i++) //这里的两个for循环是用来比较这8个数的大小的,当i=1时,j=1,判断a[0]>a[1],如果是,则t=a[0],a[0]=a[1],a[1]=t。第一个for循环中,i=1时,第二个for循环控制a[0]与a[1]做比较,a[1]与a[2]做比较。。。a[6]与a[7]做比较,完成第一次比较大小排序。第一个for循环中,i=2时,完成第二次比较,i控制完成8次大比较,最后完成将此8个数从小到达的顺序排列起来。
for(j=1;j<=8-i;j++)
if(a[j-1]>a[j])
{
t=a[j-1];
a[j-1]=a[j];
a[j]=t;
}
printf("排序后的结果:");//输出“排序后的结果”
for(i=0;i<8;i++) //这个for循环控制输出8个数
printf("%d \n",a[i]);
}
不知道你明白了没有
以上就是关于用c语言的结构体数组和循环编程!急急!!!多谢了全部的内容,包括:用c语言的结构体数组和循环编程!急急!!!多谢了、汇编语言程序中 结构体数组的定义调用方法,尤其是数组的角标(例structa[])中括号里想用变量表示、VB:使用数组结构编写一个程序,输入10个学生的成绩,统计最高分、最低分和平均分等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)