1.二维数组求最大元素
// 有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
#include<stdio.h>
int main(){
int max,temp,i,j,a[10][10];
printf("请输入一个3*4的矩阵\n");
for(i=0;i<3;i++){
for(j=0;j<4;j++){
scanf("%d",&a[i][j]);
printf("%6d",a[i][j]);
}
printf("\n");
}
max=a[0][0];
for(i=0;i<3;i++){
for(j=0;j<4;j++){
if(a[i][j]>max){
temp=max;
max=a[i][j];
a[i][j]=temp;
}
}
}
printf("最大的元素为%6d\n该元素在%d行在%6d列",max,i,j);
return 0;
}
2.
//输入一行字符,统计其中有多少个单词,单词之间用空格分隔开
#include<stdio.h>
#include<string.h>
int main(){
char a[100];
int n=0,i;
printf("请输入一串字符\n");
gets(a);
for(i=0;i<strlen(a);i++){
if(a[i]==' '){
n=n+1; }
}
printf("单词的个数为%d",n+1);
return 0;
}
//三目运算符 应用 (三个数的最小值)
#include<stdio.h>
int main(){
int a,b,c,min;
printf("请输入三个数\n");
scanf("%d%d%d",&a,&b,&c);
min=a>b?(b>c?c:b):(a>c?c:a);
printf("最小值为%d",min);
return 0;
}
//大小写转换
#include<stdio.h>
#include<string.h>
int main(){
char c;
c=getchar();
if(c>='a'&&c<='z'){
c=c-32;
}
else if(c>='A'&&c<='Z'){
c=c+32;
}
putchar(c);
return 0;
}
/*编程输入整数ab,若a方加b方大于100,
则输出百位以上的数字否则输出两数之和 */
#include<stdio.h>
int main(){
int a,b,t;
printf("请输入ab的值\n");
scanf("%d%d",&a,&b);
t=a*a+b*b;
if(t>100){
printf("%d",t/100);
}
else if(t<=100){printf("%d",a+b);
}
return 0;
}
/*输入一个数判断是否被357整除,并输出下列信息
1.能同时被357整除
2.能被两个数整除(指出哪两个)
3.不能被任何一个整除 */
#include<stdio.h>
int main(){
int num;
printf("请输入一个数字\n");
scanf("%d",&num);
if(num%3==0&&num%5==0&&num%7==0){
printf("%d能同时被3,5,7整除",num);
}
else if(num%3==0&&num%5==0&&num%7!=0){
printf("%d能被3,5整除",num);
}
else if(num%3==0&&num%5!=0&&num%7==0){
printf("%d能被3,7整除",num);
}
else if(num%3!=0&&num%5==0&&num%7==0){
printf("%d能被5,7整除",num);
}
else if(num%3!=0&&num%5!=0&&num%7!=0){
printf("%d不能被3,5,7任何一个整除",num);
}
return 0;
}
//输入n个数找出其中最小值
#include<stdio.h>
int main(){
int a[100],i,n,j,min;
printf("请输入n的值\n");
scanf("%d",&n); //输入数n
printf("请输入n个数\n");
for(i=0;i<n;i++){
scanf("%d",&a[i]); //输入n个数
}
min=a[0];
for(i=1;i<n;i++){
if(a[i]<min){
j=a[i]; //定义a[0]最小若有比她小就教换寻找最小值
a[i]=min;
min=j;
}
}printf("输入的%d个数中最小的数为%d\n",n,min);
}
//键盘输入正整数m和n(m<n)计算m到n之间所有奇数和x与偶数和y
# include<stdio.h>
int main(){
int m,n,x,y;
x=y=0;
printf("请输入正整数m,n(m<m)\n");
scanf("%d%d",&m,&n);
for(int i=m;i<=n;i++){
if(i%2!=0){
x+=i;
}
else if(i%2==0){
y+=i;
}
}
printf("奇数和为%d,偶数和为%d",x,y);
return 0;
}
//有一分数序列2/1,3/2,5/3,8/5,13/8,21/13求出前20项 和
#include<stdio.h>
int main(){
float fz[100],fm[100] ,sum;
fz[0]=2;fz[1]=3;
fm[0]=1;fm[1]=2;
sum=0;
for(int i=2;i<20;i++){
fz[i]=fz[i-1]+fz[i-2];
fm[i]=fm[i-1]+fm[i-2];
sum+=fz[i]/fm[i];
}
printf("前20项和为%f",sum);
}
/*求解爱因斯坦数学题,有一最后道长阶梯,每步跨两阶,,最后剩余一阶,每步跨三阶
最后剩两阶,跨五阶,剩4阶,跨六阶剩五阶,跨七阶最后一阶不剩,问共有多少阶*/
#include<stdio.h>
int main(){
int n=7;
for(n=7; ;n+=7){ //错误在不是n+7
if(n%2==1&&n%3==2&&n%5==4&&n%6==5){
printf("共有%d阶台阶",n);
break;
}
}
}
//判断素数
#include<stdio.h>
int main(){
int n,i;
scanf("%d",&n);
for( i=2;i<=n-1;i++){
if(n%i==0)
{printf("%d不是素数",n);
break;
}
else
continue;
}
if(i>n-1)
{printf("是素数");
}
}
//冒泡排序
#include<stdio.h>
int main(){
int a[100],n,i,j,min,t;
printf("请输入待排序的数字的个数n\n");
scanf("%d",&n);
printf("请输入待排序的数\n");
for( i=0;i<n;i++){
scanf("%d",&a[i]);
}
for( i=0;i<n;i++){
for(j=0;j<n-i;j++){
if(a[j]<a[j-1]){
t=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
}
}
printf("排序后的顺序为\n");
for(i=0;i<n;i++){
printf("%6d",a[i]);
}
}
//将一个二维数组行和列元素互换,存到另一个二维数组中
#include<stdio.h>
int main(){
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},b[4][3];
for(int i=0;i<3;i++){
for(int j=0;j<4;j++){
b[j][i]=a[i][j];
}
}
for(int i=0;i<4;i++){
for(int j=0;j<3;j++){
printf("%6d",b[i][j]);
if((j+1)%3==0)
printf("\n");
}
}
}