编写一个程序来存储大小为10的数组中的积分器,在函数Get_value()中初始化你的数组,用户将输入10个积分来填充数组。然后程序打印下面给出的用户菜单,必须是能够执行用户选择的各种功能..用户命令是: D显示数组中的所有非零值 T显示总数 R以反转顺序显示所有数字 Q退出该计划 在c ++中 我试着写但我没有得到确切的答案
#include <stdio.h>
int get_value();
int display();
void total(void);
int main ()
{
int get_value[10];
int i;
char c=0;
for(i=0;i<=9;i++){
printf("Enter The value of get_value[%d]\n",i);
scanf("%d",get_value[i]);
}
printf(" D to display all non-zero values in the array \n choose T to display the total \n choose R to display all the number in reverse order \n choose Q to quit the program \n");
scanf("%d",&c);
if(c == D){
display();
}
else if(c== T){
total();
}
return 0;
}
int display()
{
int i,get_value[10];
for(i=0;i<=9;i++){
if(get_value[i]!=0)
printf("%d",get_value[i]);
}
return 0;
}
void total(void)
{
int i,sum=0;
for(i=0;i<=9;i++){
sum+=i;
}
printf("%d",sum);
}
答案 0 :(得分:0)
请注意:
if (c == D)
应该是:
if (c == 'D')
类似地:
else if (c == T)
应该是:
else if (c == 'T')
还存在各种其他问题,例如正如他在评论中指出的那样:
scanf("%d",&c);
不正确 - 它应该是:
scanf("%c",&c);
虽然:
c = getchar();
可能更好。
答案 1 :(得分:0)
#include <stdio.h>
int get_value();
int display(int values[], int n);
void total(int values[], int n);
int main()
{
int n;
n = 10;
int values[n];
int i;
for(i=0;i<=n;i++){
printf("Enter The value of get_value[%d]\n",i);
values[i] = get_value();
}
printf(" D to display all non-zero values in the array \n choose T to display the total \n choose R to display all the number in reverse order \n choose Q to quit the program\n");
char c;
scanf(" %c", &c);
if(c == 'D') {
display(values, n);
}
else if(c == 'T') {
total(values, n);
}
else if (c == 'R') {
}
return 0;
}
int get_value()
{
int usersChoice;
scanf("%d", &usersChoice);
return usersChoice;
}
int display(int values[], int n)
{
int i;
for(i=0;i<=n;i++){
if(values[i]!=0)
printf("%d", values[i]);
}
return 0;
}
void total(int values[], int n)
{
int i,sum=0;
for(i=0;i<=n;i++){
sum+=values[i];
}
printf("%d",sum);
}
我认为这将回答您的所有问题。