谁能看看我哪里错了,给提个意见
毕业设计
1
#include<stdio.h>
int main()
{
int n;
printf("请输入0-4中的任意一个整数\n");
scanf("%d",&n);
switch(n)
{
case 0:printf("程序退出\n");break;
case 1:void MPPX();
case 2:void KSPX();
case 3:void DYLX();
case 4:void QGYS();
}
}
int MPPX()
{int a[10];
int i,j,t;
printf("输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("the sorted numbers:\n");
for(i=0;i<10;i++)
printf(" %d",a[i]);
}
int KSPX()
{
int qusort(int s[], int start, int end)
{
int i, j;
i = start;
j = end;
s[0] = s[start];
while (i < j)
{
while (i < j && s[0] < s[j])
j--;
if (i < j)
{
s[i] = s[j];
i++;
}
while (i < j && s[i] <= s[0])
i++;
if (i < j)
{
s[j] = s[i];
j--;
}
}
s[i] = s[0];
if (start < i)
qusort(s, start, j - 1);
if (i < end)
qusort(s, j + 1, end);
return 0;
}
}
int DYLX()
{
int n,i,j;
printf("输入行数n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i+1;j++)
printf("*");
putchar('\n');
}
}
int QGYS()
{
int i,a,b,t;
printf("输入两个整数:\n");
scanf("%d%d",&a,&b);
if(a>b)
{
t=a;
a=b;
b=t;
}
for (i = a; i >= 2; i--)
{
if (a % i == 0 && b % i == 0)
{
printf("最大公约数是:%d\n",i);
break;
}
}
if(i==1)
printf("两数只能同时被1整除!\n");
return 0;
}
-
#include<stdio.h> int MPPX(int num[]) { int a[10]; int i, j, t; printf("输入10个整数:\n"); for (i = 0; i < 10; i++) scanf("%d", &a[i]); for (j = 0; j < 9; j++) for (i = 0; i < 9 - j; i++) if (a[i] > a[i + 1]) { t = a[i]; a[i] = a[i + 1]; a[i + 1] = t; } printf("the sorted numbers:\n"); for (i = 0; i < 10; i++) printf(" %d", a[i]); num = a; return 0; } int KSPX(int s[], int start, int end) { int i, j; i = start; j = end; s[0] = s[start]; while (i < j) { while (i < j && s[0] < s[j]) j--; if (i < j) { s[i] = s[j]; i++; } while (i < j && s[i] <= s[0]) i++; if (i < j) { s[j] = s[i]; j--; } } s[i] = s[0]; if (start < i) KSPX(s, start, j - 1); if (i < end) KSPX(s, j + 1, end); return 0; } int DYLX() { int n, i, j; printf("输入行数n:"); scanf("%d", &n); for (i = 1; i <= n; i++) { for (j = 1; j <= n - i + 1; j++) printf("*"); putchar('\n'); } return 0; } int QGYS() { int i, a, b, t; printf("输入两个整数:\n"); scanf("%d%d", &a, &b); if (a > b) { t = a; a = b; b = t; } for (i = a; i >= 2; i--) { if (a % i == 0 && b % i == 0) { printf("最大公约数是:%d\n", i); break; } } if (i == 1) printf("两数只能同时被1整除!\n"); return 0; } int main() { int n = 0; int m = 0; int a[1024] = {0}; scanf("%d",&m); for (int i = 0; i < m; i++) { scanf("%d", &a[i]); } printf("请输入0-4中的任意一个整数\n"); scanf("%d", &n); switch (n) { case 0:printf("程序退出\n"); break; case 1:MPPX(a); break; case 2:KSPX(a, 0, m); break; case 3:DYLX(); break; case 4:QGYS(); break; } return 0; }
函数内部不要申明函数,函数的申明通常写在外部,然后再通过函数名调用
-
case后面的void去掉
#include<stdio.h> int main() { int n; printf("请输入0-4中的任意一个整数\n"); scanf("%d",&n); switch(n) { case 0: printf("程序退出\n"); break; case 1: MPPX(); case 2: KSPX(); case 3: DYLX(); case 4: QGYS(); } } int MPPX() { int a[10]; int i,j,t; printf("输入10个整数:\n"); for(i=0; i<10; i++) scanf("%d",&a[i]); for(j=0; j<9; j++) for(i=0; i<9-j; i++) if(a[i]>a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } printf("the sorted numbers:\n"); for(i=0; i<10; i++) printf(" %d",a[i]); } int KSPX() { int qusort(int s[], int start, int end) { int i, j; i = start; j = end; s[0] = s[start]; while (i < j) { while (i < j && s[0] < s[j]) j--; if (i < j) { s[i] = s[j]; i++; } while (i < j && s[i] <= s[0]) i++; if (i < j) { s[j] = s[i]; j--; } } s[i] = s[0]; if (start < i) qusort(s, start, j - 1); if (i < end) qusort(s, j + 1, end); return 0; } } int DYLX() { int n,i,j; printf("输入行数n:"); scanf("%d",&n); for(i=1; i<=n; i++) { for(j=1; j<=n-i+1; j++) printf("*"); putchar('\n'); } } int QGYS() { int i,a,b,t; printf("输入两个整数:\n"); scanf("%d%d",&a,&b); if(a>b) { t=a; a=b; b=t; } for (i = a; i >= 2; i--) { if (a % i == 0 && b % i == 0) { printf("最大公约数是:%d\n",i); break; } } if(i==1) printf("两数只能同时被1整除!\n"); return 0; }
发表回复