2023-11-24 09:24来源:m.sf1369.com作者:宇宇
帮你写了个.关于你提供的算法中对字符串和#的比较有问题,程序中也进行了修改.
增加了一个Creat()函数用来输入候选人的姓名.
具体代码如下: 测试通过.
#include <stdio.h>
#include <malloc.h> //malloc
#include <string.h> //strcmp,strcpy
const int n=10; //假设有10个人参加选举
struct Person{
char *name;
int count;
}Leader[n];
//函数声明部分
void Creat(); //增加一个函数,用来输入候选人名单.
void Election(Person Leader[], int n); //统计票数
int main()
{
Creat();
Election(Leader,n);
return 0;
}
//函数定义部分
void Creat()
{
int i=0;
char name[10];
printf(Please enter the names of the candidates\n);
for(i=0;i<n;i++)
{
Leader[i].name=(char *)malloc(sizeof(name)); //为结构体中的字符串指针申请空间.
scanf(%s,Leader[i].name);
}
}
void Election(Person Leader[], int n)
{
char name[10];
int i=0;
scanf(%s,name);
while(strcmp(name,#)) //不能直接对字符串和字符进行比较.应该用strcmp();
{
for(i=0;i<n;i++)
if(strcmp(Leader[i].name,name) == 0) Leader[i].count++;
scanf(%s,name);
}
for(i=0;i<n;i++)
printf(%s得票数为%d\n,Leader[i].name,Leader[i].count);
}
1
for(i=0;i<20;i+=4)
printf(%4d,i*2);
0 8 16 32
2
for(i=10;i>=0;i-=5)
printf(**)
******
3
n=146;
while(n>7)
n-=7;
printf(%d,n)
n-=7;
printf(%d,n)
6-1
4 这道题是C++
#include<iostream.h>
void main()
{
void disp_num(int x);
void disp_num(float x);
disp_num(17/2)
disp_num(float f=2345)
}
void_disp_num(int x)
{cout<<integer:<<x<<endl;}
void disp_num(float x)
{cout<<float<<x<<endl;}
float8.500000
float2345.000
#include <stdio.h>
#include <math.h>
int main(void)
{
int number, i, sum=0, count=0;
for (number=1; number<=1000; number++)
{
for (i=1; i<(int)sqrt(number); i++)
{
if (number % i == 0)
{
count = count + i;
}
}
if (count == number)
{
printf(%4d, number);
sum = sum + number;
}
}
printf(\nsum=%d, sum);
return 0;
}
B,机器语言是计算机能直接运行的程序