1.循环输入n个元素,计算最大差值,最小和,最大和(不允许使用排序)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int n=0;int m1=0;int m2=0;int m3=0;int tempmin=0;int tempmax=0;
printf("请输入整数,输入0程序会结束:");
scanf("%d",&n);
int max=n;
int min=n;
while(n!=0){
printf("请输入整数,输入0程序会结束:");
scanf("%d",&n);
if (n==0)
break;
if (n>=max){
tempmax=max;
max=n;
}
else if(n<=min){
tempmin=min;
min=n;
}
}
m1=max-min;
m2=min+tempmin;
m3=max+tempmax;
printf("最大差为:%d,最小和为:%d,最大和为:%d\n",m1,m2,m3);
return 0;
}
2.循环输入n个元素,交换数组中最大值和最小值
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int n=0;int count=0;
printf("请输入想要输入的元素个数:");
scanf("%d",&count);
int s[count];
bzero(s,sizeof(s));
int i=0;
while(i!=count){
printf("请输入第%d整数元素:",i+1);
scanf("%d",&s[i]);
i++;
}
printf("改变前:\n");
for(int j=0;j<count;j++){
printf("%d ",s[j]);
}
putchar(10);
int indexmax=0;int indexmin=0;
for(int j=0;j<count;j++){
if(s[j]>=s[indexmax])
indexmax=j;
else if(s[j]<=s[indexmin])
indexmin=j;
}
int temp=s[indexmax];
s[indexmax]=s[indexmin];
s[indexmin]=temp;
printf("改变后:\n");
for(int j=0;j<count;j++){
printf("%d ",s[j]);
}
putchar(10);
return 0;
}
3.循环输入n个元素,输入查找元素key,
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int n=0;int count=0;
printf("请输入想要输入的元素个数:");
scanf("%d",&count);
int s[count];
bzero(s,sizeof(s));
int i=0;
while(i!=count){
printf("请输入第%d整数元素:",i+1);
scanf("%d",&s[i]);
i++;
}
printf("请输入想要查找的key元素:");
int key=0;
scanf("%d",&key);
int countkey=0;int index=0;
for(int i=0;i<count;i++){
if(s[i]==key){
index=i;
countkey++;
}
}
switch(countkey){
case 0:printf("您输入的key不存在\n");break;
case 1:printf("您输入的key在数组的第%d个\n",index+1);break;
default:printf("您输入的key在数组中出现了%d次\n",countkey);break;
}
return 0;
}
4.循环输入n个元素,输入flag,
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int n=0;int count=0;
printf("请输入想要输入的元素个数:");
scanf("%d",&count);
int s[count];
bzero(s,sizeof(s));
int i=0;
while(i!=count){
printf("请输入第%d整数元素:",i+1);
scanf("%d",&s[i]);
i++;
}
int flag=0;int temp=0;
printf("请输入flag:");
scanf("%d",&flag);
if(flag==1){
for(int i=0;i<count;i++){
for(int j=0;j<count-1-i;j++){
if(s[j]>s[j+1]){
temp=s[j+1];
s[j+1]=s[j];
s[j]=temp;
}
}
}
for(int i=0;i<count;i++){
printf("%-4d",s[i]);
}
putchar(10);
}else if(flag==0){
for(int i =0;i<count;i++){
int index=i;
for(int j=i;j<count;j++){
if(s[j]>s[index]){
index=j;
}
}
temp=s[index];
s[index]=s[i];
s[i]=temp;
}
for(int i =0;i<count;i++){
printf("%-4d",s[i]);
}
putchar(10);
}else{
printf("ERROR\n");
}
return 0;
}
5.循环输入数组元素,实现数组元素逆置
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int n=0;int count=0;
printf("请输入想要输入的元素个数:");
scanf("%d",&count);
int s[count];
bzero(s,sizeof(s));
int i=0;int j=count-1;
while(i!=count){
printf("请输入第%d整数元素:",i+1);
scanf("%d",&s[i]);
i++;
}
for(i=0;i<count;i++){
printf("%d ",s[i]);
}
putchar(10);
i=0;
while(i<j){
int temp=s[j];
s[j]=s[i];
s[i]=temp;
i++;j--;
}
for(i=0;i<count;i++){
printf("%d ",s[i]);
}
putchar(10);
return 0;
}
6.循环输入n个数组元素,输入key;请删除所有和key相等的元素
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int n=0;int count=0;
printf("请输入想要输入的元素个数:");
scanf("%d",&count);
int s[count];
bzero(s,sizeof(s));
int i=0;int j=count-1;
while(i!=count){
printf("请输入第%d整数元素:",i+1);
scanf("%d",&s[i]);
i++;
}
for(int i=0;i<count;i++){
printf("%d ",s[i]);
}
putchar(10);
int key=0;
printf("请输入key:");
scanf("%d",&key);
int countt=count;
i=0;
while(i<=countt){
int f=0;
if(s[i]==key){
for(int j=i;j<count-1;j++){
int temp=s[j+1];
s[j+1]=s[j];
s[j]=temp;
}
countt--;
f=1;
}
if(f==0)
i++;
else if(f==1)
i=0;
}
//printf("%d",countt);
for(int i=0;i<=countt;i++){
printf("%d ",s[i]);
}
putchar(10);
return 0;
}
7.循环输入n个数组元素,输入变量k的值,将一个- -维数组循环右移k位
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, const char *argv[])
{
int n=0;int count=0;
printf("请输入想要输入的元素个数:");
scanf("%d",&count);
int s[count];
bzero(s,sizeof(s));
int i=0;int j=count-1;
while(i!=count){
printf("请输入第%d整数元素:",i+1);
scanf("%d",&s[i]);
i++;
}
for(i=0;i<count;i++){
printf("%d ",s[i]);
}
putchar(10);
int k=0;int z=0;
printf("请输入变量K的值:");
scanf("%d",&k);
int a[count];
bzero(a,sizeof(a));
for(int i=count-k;i<count;i++){
a[z]=s[i];
z++;
}
for(int i=0;i<=k;i++){
a[z]=s[i];
z++;
}
for(int i=0;i<count;i++){
printf("%d ",a[i]);
}
putchar(10);
return 0;
}
.
7.思维导图