c语言编程题 定义一个包含20个元素的一维数组a 输出这20个元素的最小值和其下标 怎么编啊
C语言程序如下:
#include
void fun(int a[],int n,int *k)
{
int i,maxxr,j;
maxxr=a[0];
for(i=0;i<n;i++)
{
if(maxxr<a[i])
{
maxxr=a[i];
}
}
for(i=0;i<n;i++)
{
if(maxxr==a[i]){
j=i;
break;
}
}
*k=j;
}
int main(void)
{
int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;
fun(a, 10, &k);
printf("%d,%d", k, a[k]);
}
扩展资料:
思路:
1、先定义数组(其数组长度取最大值,题目要求为10),然后通过for循环给数组一个个赋值,即可得到一个数组;
2、找数组的最大值,这一步是最关键的一步,由于所输入的值不确定那个是最大值,故可以先设置另一个一个变量(index)来存储最大值变量的下标。
3、紧接着继续在数组里for循环,逐一跟下标为index的值相比较,如果比下标为index的值大,这时候就将两者中数值大的下标赋值给index。
4、按要求输出。
楼主,对不起啊,刚才没注意,现在修改了一下,你自己对照自己的看下,就知道错哪里了,我在你的基础上修改的,VC6.0调试成功
#include
#include
#define MAXSIZE 100
int main()
{
float a[MAXSIZE],temp,min;
int i,n,k=0;
printf("请输入这批数的总个数:");
scanf("%d",&n);
printf("
请输入这批数:");
for(i=0;i<n;i++)
scanf("%f",&a[i]);
min=a[0];
for(i=1;i<n;i++)
{
if(min>a[i])
{min=a[i];k=i;}
}
temp=a[0];
a[0]=min;
a[k]=temp;
for(i=0;i<n;i++)
printf("%4.1f",a[i]);
printf("
");
getch();
return 0;
}
int main(void) {
int a[20]={20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1};
int i=0;
int index=0;
int min=a[0];
for(i=0;i<20;i++)
{
if(a[i]<min)
{
min = a[i];
index = i;
}
}
printf("最小值:%d,下标:%d",min,index);
return 0;
}
算法思路:
用一重循环,找出其中的最小值,并记录其下标
然后输出即可
如果语法不知,任何一本书都可以让你知晓
C语言:用for循环语句编程输出1—20之间的所有整数,两数之间以空格分隔...
if((i-min+1)%8 == 0)printf("\\n");} } \/*4、输出100~200之间所有能被3和7整除的数(每行输出4个数)*\/ int main(int argc, char **argv){ int min=100,max =200;int i,c;for(i=min,c=0;i<=max;i++){ if((i%3 == 0 )&&(i%7 ==0))printf("%d",i);c++;i...
C语言:①题目:编写程序,定义一个含有15个元素的数组,并编写函数分别完成...
include<stdio.h> include<stdlib.h> define M 15 void getx(int *s);void putx(int s[]);int sum(int x,int s[]);main(){ int x[M]={0},i;getx(x);putx(x);for(i=0;i<15;i++)printf("%d ",x[i]);printf("\\n");for(i=0;i<15;i++)printf("%d ",sum(i,x...
C语言编程 大小写转换 小于20个字符
include<stdio.n>void main(){ char s[20] = {0}, *p; printf("输入字符串:"); scanf("%s", s); p=s; do { if( (*p>='a') &&(*p<='z')) *p -=32; \/*小写变大写*\/ else if((*p>='A') &&(*p<='Z')) *p+=32; \/*大写变小写*...
c语言编程题在主函数中定义一个一维数组,把若干个人(人数自
include<stdio.h> define N 100 int fun(float *a,float *b,float *c,int n) { int i,n1,n2; float av;av=0; for ( i=0;i<n;i++ ) av+=a[i];av\/=n; n1=n2=0;for ( i=0;i<n;i++ ) if ( a[i]>av ) { b[n1]=a[i]; n1++; } else { c[n2]=a[i];...
c语言编程题,急4.定义一个包含10个整数的数组,实现先逐个从键盘输入这10...
4:include<iostream> using namespace std;int main(){ for(int i=0;i<10;i++){ int a;cin>>a;if(a%3==2 && a%5==3){ cout<<a;} } return 0;} 5:include<iostream> using namespace std;int main(){ int pos[10];int neg[10];int zero=0;int t1=0,t2=0;for(int ...
C语言编程题目 给一个字符串,请找出出现次数最多的大写英文字母。_百 ...
#include<stdio.h> #include<string.h> void main(){ chara[100];intfre[26];int i,len,big=0;gets(a);for(i=0;i<26;i++)fre[i]=0;len=strlen(a);for(i=0;i<len;i++)if(a[i]>='a'&&a[i]<='z')fre[a[i]-'a...
C语言编程题:定义一个长度为10的数组,求最大值及下标。
C语言编程题要求定义一个长度为10的数组,找到其中的最大值及其对应的下标。程序示例中使用了一个函数fun,接受数组a、数组长度n以及一个指针k作为参数。函数内部通过遍历数组元素,比较每个元素与当前最大值maxxr,如果找到更大的值,则更新maxxr,并记录该元素的下标。遍历完成后,指针k指向最大值的...
求解C语言编程题
{ int i;int sum=0;for(i=0;i<n;i++){ if(a[i]%3==0){ b[sum] = a[i];sum++;} } return sum;} int main(){ int num[20];int num_3[20];int i,j,sum;srand((unsigned int)time(NULL));for(i=0;i<20;i++){ num[i] = rand()%99+1;} for(i=0;i<4;i...
C语言编程题
\/\/输入15个学生的信息void insertTest(STU *stu);\/\/测试,用随机数代替输入,我懒得输入那么多成绩,你要手输,调用insertSTU替换该函数void printfSTU(STU *stu);\/\/按输入顺序打印15名学生7模块成绩 及 每个模块前三名的成绩int main(){ STU stu[stuNum];\/\/定义15个学生 \/\/ int i,...
用c语言编程 定义一个结构体变量(包括年、月、日)。计算该日在本年中...
include<stdio.h>struct y_m_d{ int year; int month; int day;};int days(struct y_m_d date){ int sum=date.day; int a[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31}; int i; for(i=1; i<date.month; i++) { sum+=a[i]; }...