- 辗转相除法求最大公约数
- 求a的连续和 a+aa+aaa+…+aaaaaaa(n个)
- 求圆的面积 (21年淮南师范专升本)
- 矩阵转置(21年淮南师范专升本)
- 直接插入(09年合肥师范专升本)
- 数组操作 (09年合肥师范专升本)
- 统计字符串中字母个数
1辗转相除法求最大公约数
#include <stdio.h>
#include <stdlib.h>
int main()
{
int m=46,n=12,t;
while(n!=0){
t=m%n;
m=n;
n=t;
printf("过程%d %d %d\n",m,n,t);
}
printf("最大公约数%d",m);
return 0;
}
2求a的连续和 a+aa+aaa+…+aaaaaaa(n个)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n=4,a=2;
int t=a;
long sum=0;
for (int i = 0; i < n; i++) {
sum=sum+a;
a=a*10+t;
printf("a= %d \n",a);
}
printf("sum is %ld",sum);
return 0;
}
3求圆的面积(21年淮南师范C大题)
#include <stdio.h>
#include <stdlib.h>
int main()
{
double area,r;
printf("请输入圆的半径:");
scanf("%lf",&r);
area=3.14*r*r;
printf("圆的面积为%lf",area);
return 0;
}
4 矩阵转置(21年淮南C)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int b[4][3];
for ( i = 0; i < 3; i++)
for ( j = 0; j < 4; j++)
b[j][i]=a[i][j];
for ( i = 0; i < 4; i++){
for ( j = 0; j < 3; j++)
printf(" %d ",b[i][j]);
printf("\n");
}
return 0;
}
5 直接插入 (09年合肥师范专升本)
现有一个已排序(升序)的整数数组,今输入一个数,要求按原排序规律,将此数插入数组中
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[5]={1,2,4,5};
int n,i;
int len=sizeof(a)/sizeof(a[0]);
printf("请输入一个整数: ");
scanf("%d",&n);
for ( i = 0; i < len-1; i++) {
if(a[i]>n)
break;
}
for (int j = len-1; j > i; j--) {
a[j]=a[j-1];
}
a[i]=n;
for (int i = 0; i < len; i++) {
printf("%d",a[i]);
}
return 0;
}
6 数组操作 (09年合肥师范专升本)
输入20个不同的整数,保存到数组a中,在输入一个整数n,如果在数组中存在则,返回数组元素的下标,若不存在则输出“此数不存在”
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[20];
int i,n,flag=0;
for ( i = 0; i < 20; i++) {
scanf("%d",&a[i]);
}
printf("请输入数字n:");
scanf("%d",&n);
for ( i = 0; i < 20; i++) {
if(a[i]==n)
{
flag=1;
break;
}
}
if(flag==1)
printf("下标为%d",i);
else
printf("没有这个数");
return 0;
}
7.统计字符串中字母个数
#include "stdio.h"
int main(){
int count=0;
char s[100];
// gets(s);
scanf("%s",s);
printf("%s",s);
for (int i=0;i<100&&s[i]!='\0';i++) {
if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')
count++;
}
printf("\n");
printf("%d",count);
return 0;
}