n默认是正整数吗 输入一个正整数n,再输入任意n个整数,计算并输出这n个整数的和。要求使用动态记忆体分配方法为这n个整数分
输入一个正整数n,再输入任意n个整数,计算并输出这n个整数的和。要求使用动态记忆体分配方法为这n个整数分
输入一个正整数n,再输入任意n个整数,计算并输出这n个整数的和。要求使用动态记忆体分配方法为这n个整数分
#include <stdio.h>
#include <memory.h>
#include <stdlib.h>
int main(void){
int n = 0,sum = 0;
int *nums;
printf("请输入整数个数:n");
scanf("%d",&n);
nums = (int*)malloc(sizeof(int)*n);
int i = 0;
for(i = 0; i < n; i++){
scanf("%d",nums+i);
sum += *(nums+i);
}
printf("sum = %dn",sum);
free(num);
system("pause");
return 0;
}
求n个正整数的最小公倍数,先输入n的值,再输入n个正整数的数值,然后
#include <stdio.h>int m(int a,int b){ int r = a>b?a:b; while(1) { if(r%a==0 && r%b ==0) break; r++; } return 0;}int main(){ int n, t, r=1; scanf("%d",&n); while(n--) { scanf("%d",&t); r = m(t, r); } printf("%dn", r); return 0;}输入一个正整数n (1<n≤10),再输入n个整数,将它们存入阵列a中。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int n = 0, i;
int min = 0,minpos = 0;
int* a = NULL;
printf("请输入你要输入多少整数n");
scanf("%d",&n);
a = (int*)malloc(n*sizeof(int));
if(a == NULL) return -1;
printf("请输入这%d个整数n",n);
for(i=0; i<n;)
{
scanf("%d",a+i);
if(*(a+i)<2 || *(a+i)>10)
{
printf("重新输入n");
}else{
i++;
}
}
min = *a;
for(i=0; i<n; i++)
{
if(*(a+i) < min)
{
min = *(a+i);
minpos = i;
}
}
printf("最小数%d,位置%dn",min, minpos+1);
*(a+minpos) = *a;
*a = min;
for(i=0; i<n; i++)
{
printf("%dt",*(a+i));
}
return 0;
}
当输入的数可以重复的时候,暂时没考虑这个,需要的话,直接修改储存变数的程式码即可
输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入一个正整数n,再输入n个整数,将它们从小
#include <stdio.h>
int main(void)
{
int re,repeat;
int i,index,k,n,temp;
int a[80];
scanf("%d",&repeat);
for(re=1;re<=repeat;re++)
{
printf("输入 n:");
scanf("%d",&n);
printf("输入%d个数:",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(k=0;k<n-1;k++){
index=k;
for(i=k+1;i<n;i++)
if(a[i]<a[index])
index=i;
temp=a[index];
a[index]=a[k];
a[k]=temp;
}
printf("输出排序后的数:");
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("n");
}
return 0;
}

输入一个正整数n(1<n≤10),再输入n个整数,把这些数逆序存放后输出,用阵列知识做,咋搞啊
#include <stdio.h>int main(){ int a[10],n,i; scanf("%d",&n); for(i = n-1; i >= 0; i --) { scanf("%d",&a[i]); } for(i = 0; i < n; i ++) printf("%d ", a[i]); return 0;}输入一个正整数n和一组(n个)有序整数,再输入一个整数x,将x插入到整数合理位置仍然有序
要想插入到中间 应该判断的是 x在 a[i] 和a[i+1]之间,还有阵列的大小是10,显然a[10]不能用for(j=10;j>i;j--) j应该从9算起
C++:输入正整数 n和m,再输入 n 个整数,将这些数排成一行,向右回圈移动 m 个位置,输出移动后的n个整数
#include<stdio.h>
main()
{
int m,n,i;
int a[100];
scanf("%d",&n);
scanf("%d",&m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
m=m%n;
for(i=n-m;i<n;i++)
printf("%d ",a[i]);
for(i=0;i<n-m;i++)
printf("%d ",a[i]);
}
从键盘输入正整数n(n小于10),随后再输入n个正数,计算并输出这n个数中,能被7除后余4的数字个数
#include<stdio.h>
#define N 10
int main()
{
int n,i,a[N];
int j=0;
printf("Please input number(1-9):");
scanf("%d",&n);
printf("input %d number:",n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(a[i]%7==4)
j++;
}
printf("能被7除后余4的数字个数是:%dn:",j);
return 0;
}
C语言设计读入一个正整数n(n>=2),再输入n个整数,请输入这批数中最大的两个数
将阵列排序就行了:
#include<stdio.h>
int main()
{
int n,i,j,temp;
int *a;
scanf("%d",&n);
a=new int[n];
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=1;i<n;i++){
for(j=0;j<n-i;j++){
if(a[j]<a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("%d %dn",a[0],a[1]);
delete []a;
return 0;
}
定义一个n个整数的阵列,然后输入一个正整数m(m<n)作为要输入的资料数量并输入一组(m个)有序整数,
题目很简单,只是描述的不是很准确,能不能说一下m个数干什么,是插入到n里面还是怎样?