怎么可以直接设max=0,题目只说是整数,你输入十个负整数,最大去哪里找
//输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。 //写三个函数; ①输入10个数;②进行处理;③输出10个数。 #include<stdio.h> int main() { int a[10],c,n; for(int i=0;i<10;i++) scanf("%d",&a[i]); for(int i=0;i<10;i++) { if(a[0]>a[i]) { n=a[0]; a[0]=a[i]; a[i]=n; } } for(int i=0;i<10;i++) { if(a[9]<a[i]) { c=a[9]; a[9]=a[i]; a[i]=c; } } for(int i=0;i<10;i++) printf("%d\t",a[i]); return 0; } 大佬看看哪错了呀,错误50% 还有就是我把数组改成3个数,4个数,运行出来是对的
pingfan443 2020-03-07 16:52:01 |
人家只让你把最小的数和最大的数找出来与第一个和最后一个交换,没让你把其他的数也动位置
uq_17089013375 2020-03-12 10:18:39 |
没看清题~~~~
五仁月饼 2021-02-26 11:27:41 |
自定义函数
#include<stdio.h> int max(int a[]) { int m=0; for(int i=0;i<10;i++) { if(a[i]>a[m]) m=i; } return m; } int min(int a[]){ int n; for(int i=0;i<10;i++) { if(a[i]<a[n]) n=i; } return n; } int main() { int a[10],flag; for(int i=0;i<10;i++) { scanf("%d",&a[i]); } int temp1,temp2; temp1=a[0]; a[0]=a[min(a)]; a[min(a)]=temp1; temp2=a[9]; a[9]=a[max(a)]; a[max(a)]=temp2; //printf("%d %d\n%d %d\n",a[max(a)],a[min(a)],max(a),min(a)); for(int i=0;i<10;i++) { printf("%d ",a[i]); } return 0; } 请问为什么测试出来结果全是对的,但是提交编译错误
pingfan443 2020-02-23 21:57:07 |
本地能编译通过?你的代码循环里边直接定义变量这个编译器会编译错误,自己可以试试
#include <stdio.h> void shuru(int a[]); void chuli(int a[]); void shuchu(int a[]); int main() { int a[10]; shuru(a); chuli(a); shuchu(a); return 0; } void shuru(int a[]){ int i; for(i=0;i<10;i++){ scanf("%d",&a[i]); } } void chuli(int a[]){ int i,j,temp,min,max; min=0,max=0; for(i=1;i<10;i++){ if(a[i]<a[min]){ min=i; }else if(a[i]>a[max]){ max=i; } } temp=a[0]; a[0]=a[min]; a[min]=temp; temp=a[9]; a[9]=a[max]; a[max]=temp; } void shuchu(int a[]){ int i; for(i=0;i<10;i++){ printf("%d ",a[i]); } } 哪位大佬看看为啥错误50%
代码创世界 2020-03-30 22:57:51 |
同问 我们俩的代码除了变量名不一样 一模一样
#include<stdio.h> #include<stdlib.h> int swap(int* arr); int main(void) { int arr[10]; for(int i = 0 ;i<10;i++) scanf("%d", &arr[i]); swap(arr); return 0; } int swap(int* arr) { int m = 0; int n = 0; int temp; int max=arr[0]; int min=arr[0]; for (int i = 1; i < 10; i++) { if (min > arr[i]) { min = arr[i]; m = i; } if (max < arr[i]) { max = arr[i]; n = i; } } temp = arr[0]; arr[0] = arr[m]; arr[m] = temp; temp = arr[9]; arr[9] = arr[n]; arr[n] = temp; for (int i = 0; i < 10; i++) { printf("%d ", arr[i]); } } 错误%50.。。。。大佬们能不能看看哪里错了
1234567890. 2019-12-21 23:51:33 |
哪里错了
墨魍 2019-12-22 10:37:41 |
不知道啊,就提示了错误百分之五十
VGshots 2019-12-29 12:29:59 |
@MOYUN 最后少了个return 0;应该是的
pingfan443 2019-12-29 17:29:35 |
@MOYUN 把max和min分别用两个for循环求出来在交换
dragonZhan 2020-01-23 18:08:04 |
和我的除了变量名不一样之外,其他都一样(笑哭。。。)
墨魍 2020-02-03 15:20:47 |
@983444799 我用了其他的方法又打了一段代码
【偶数求和】 (C语言代码)浏览:588 |
WU-整数平均值 (C++代码)浏览:1307 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:672 |
蛇行矩阵 (C语言代码)浏览:606 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:651 |
1071题解浏览:585 |
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:331 |
C二级辅导-等差数列 (C语言代码)浏览:891 |
1202题解浏览:689 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1207 |