我正在向您显示的程序要求用户输入否。并询问每个人吃了多少煎饼。之后,它会打印最多数量的煎饼。
好的,到目前为止,我发现它很容易做到。
我想做的是(不使用指针)说明吃得最多的人。
这是我到目前为止所做的。
#include <stdio.h>
int main()
{
int person, i;
int pancake[50];
printf("Enter Number Of People: ");
scanf("%d", &person);
for (i=1; i<=person; i++)
{
printf("Person [%d]: ", i);
scanf("%d",&pancake[i]);
}
for (i=1; i<=person; i++)
{
if (pancake[1]<pancake[i])
{
pancake[1] = pancake[i];
}
}
printf("Most pancakes eaten is %d\n", pancake[1]);
}
有什么想法如何找到它,或者我有必要使用指针吗?
最佳答案
无需使用指针。我正在发布完整版1。代码,因为代码中存在许多错误/错别字。
#include <stdio.h>
#include <string.h>
int main(void)
{
int person, i;
int pancake[50];
printf("Enter Number Of People: ");
scanf("%d", &person);
char name[person][30]; // 2D array to store the name of persons. Note that I used variable length arrays.
for (i=0; i < person; i++)
{
printf("Person [%d]: ", i+1);
scanf("%d",&pancake[i]);
printf("Person %d name: ", i+1);
getchar(); // To eat up the newline left behind by previous scanf.
fgets(name[i], 30, stdin); // To read the persons name. I removed the scanf.
}
for (i=0; i<person-1; i++)
{
if (pancake[0]<pancake[i+1])
{
pancake[0] = pancake[i+1];
strcpy(name[0] , name[i+1]); // A function in <string.h> to copy strings.
}
}
printf("Most pancakes eaten is %d by %s \n", pancake[0], name[0]);
}
1.一些有用的链接:
I. fscanf。
二。 getchar。
三, strcpy。
关于c - 了解数组和函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21415502/