就是写四个简单的函数而已。如果不在0-100之间,重新输入呗
#include <stdio.h>
void fillTable(int myArray[],int n)
{
for(int i=0;i<n;i++)
{
printf("Give the %d. number > ",i+1);
scanf("%d",&myArray[i]);
if(myArray[i] > 100 || myArray[i] < 0)
i--;
}
}
void printTable(int myArray[],int n)
{
printf("For the array:\n");
for(int i=0;i<n;i++)
printf("%d ",myArray[i]);
printf("\n");
}
void findGreatest(int myArray[],int n)
{
int max=0,maxid= 0;
for(int i=1;i<n;i++)
{
if(myArray[i] > myArray[maxid])
{
max = myArray[i];
maxid = i;
}
}
printf("The greatest value is %d which is in index %d\n",max,maxid);
}
void calcuateAverage(int myArray[],int n)
{
int sum = 0;
for(int i=0;i<n;i++)
sum += myArray[i];
printf("The average of the values in the array is %.3f\n",sum*1.0/n);
}
int main()
{
int n = 10,myArray[10];
fillTable(myArray,10);
printTable(myArray,10);
findGreatest(myArray,10);
calcuateAverage(myArray,10);
return 0;
}
函数无返回值为什么不能调用呢
代码打一打,谢谢
#include <stdio.h>
void fillTable(int myArray[],int n)
{
for(int i=0; i<n; i++)
{
printf("Give the %d. number > ",i+1);
scanf("%d",&myArray[i]);
if(myArray[i] > 100 || myArray[i] < 0)
i--;
}
}
void printTable(int myArray[],int n)
{
printf("\nFor the array:\n");
for(int i=0; i<n; i++)
printf("%d ",myArray[i]);
printf("\n\n");
}
void findGreatest(int myArray[],int n)
{
int max=0,max_index=0;
for(int i=1; i<n; i++)
{
if(myArray[i] > myArray[max_index])
{
max = myArray[i];
max_index = i;
}
}
printf("The greatest value is %d which is in index %d\n",max,max_index);
}
void calcuateAverage(int myArray[],int n)
{
int sum = 0;
for(int i=0; i<n; i++)
sum += myArray[i];
printf("The average of the values in the array is %.3f\n",sum*1.0/n);
}
int main()
{
int n = 10;
int myArray[10];
fillTable(myArray,n);
printTable(myArray,n);
findGreatest(myArray,n);
calcuateAverage(myArray,n);
return 0;
}
用的中文输出哈哈哈
#include<stdio.h>
#include<stdlib.h>
void test_1(int *p,int *x); //主要输入
void test_2(int *p,int *x); //重复输入
int comp(const void* a, const void* b);//用来做比较的函数。
void test_4(int *p,int *x); //显示数
void test_1(int* p, int* x)
{
int n;//输入值
int m;//判断时用的
for (int i = 0; i < *x; i++)
{
printf("请输入你的数字(1~100)\n");
scanf_s("%d", &n);
if ((n >= 1) && (n <= 100))
{
*p = n;
}
else
{
printf("请问你输入的n是1~100吗?\n");
printf("选择是或不是,1代表是,0代表不是,输入1或0\n");
scanf_s("%d", &m);
if (m == 0)//重新输入
{
test_2(p, x);
}
else
{
printf("这个值不加入数组\n");
i = i - 1;
p = p - 1;// 回溯一下
}
}
p++;
}
}
void test_2(int* p,int *x)//重复输入
{
int n = 1;
if (n >= 1 && n <= 100)
{
printf("请输入你的数字(1~100)\n");
scanf_s("%d", &n);
*p = n;
}
}
int comp(const void* a, const void* b)//用来做比较的函数。
{
return *(int*)a - *(int*)b;
}
void test_4(int *p,int *x)
{
qsort(p, 5, sizeof(int),comp);
for (int i = 0; i < *x; i++)
{
printf("%d ", *p);
p++;
}
}
int main()
{
int arry[5];
int a = 5;
int* x = &a;
test_1(arry, x);
test_4(arry, x);
return 0;
}