《程序设计基础(B)Ⅰ》实验4-for循环结构程序设计

版权声明:版权问题请加微信:17165380098 备注 版权问题 https://blog.csdn.net/qq_30277453/article/details/82933578
A - A+B for Input-Output Practice (II)
#include<stdio.h>
int main()
{
int i,n;
int a,b;
scanf("%d",&n);
for(i=0;i<n;i++){
    scanf("%d %d",&a,&b);
    printf("%d\n",a+b);
}
return 0;
}
 

B - C/C++训练1---最大公约数与最小公倍数

辗转相除法(欧几里得算法):两个正整数a和b(a>b),它们的最大公约数等于a除以b的余数c和b之间的最大公约数

//辗转相除法
#include <stdio.h>
int main()
{

    int m, n,mcd, t, r, gcd;
    scanf("%d %d", &m, &n);
    gcd=m*n;
    if(m<n)
    {
        t = m;
        m = n;
        n = t;
    }
    while(n!=0)//也可写为while(n)
    {
        r = m % n;
        m = n;
        n = r;
    }
    printf("%d\n",m);
    printf("%d\n",gcd/m);
    return 0;
}

C - C语言实验——判断素数(循环结构)

素数:除1和其自身以外,不能被其他数整除的数字

注意1不是个素数

flag标识符方便运算(节省空间与时间)

#include<stdio.h>
int main()
{
int i,n;
scanf("%d",&n);
int flag = 1;
if(n==1)printf("This is not a prime.\n");
else{
        for(i=2;i<n;i++){
    if(n%i==0){
        flag = 0;
        break;
    }
}
if(flag == 1)printf("This is a prime.\n");
else if(flag == 0)printf("This is not a prime.\n");
return 0;
}
}
 

D - 求绝对值最大值

max  = 0

逐个绝对值对比,

绝对值大于max的绝对值的,max  = 该数

 

E - C语言实验——圆周率

两个一组,注意格式转换

 

F - 数列求和

逐位相加,总和逐步相加

#include<stdio.h>
int main()
{
int i,n,m;
scanf("%d %d",&n,&m);
int sum = 0;
int x = n;
for(i=1;i<=m;i++){
    sum += x;
    x = 10*x + n;
}
printf("%d\n",sum);
}
 

G - C语言实验——计算1到n的和(循环结构)

从1开始,逐个相加

 

H - C语言实验——求阶乘(循环结构)

根据题意做就行,注意0! = 1

 

I - 小鑫の日常系列故事(五)——卡片游戏

两个数组各自相加

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,i;
    int f[101];
    int s1 = 0;
    int s2 = 0;//埋雷埋雷
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&f[i]);
    }
    for(i=0;i<n;i+=2){
        s1+=f[i];
    }
    for(i=1;i<n;i+=2){
        s2+=f[i];
    }
    if(s1==s2)printf("Equal\n");
    else if(s1>s2)printf("Greater than\n");
    else printf("Less than\n");
    return 0;
}
 

J - C语言实验——两个数比较

注意定义变量的位置(for循环内部)-

  K - 做乘法
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n;
    scanf("%d",&n);
    int i;
    for(i=1;i<=n;i++){
        printf("%d*%d=%d\n",n,i,n*i);
    }
    return 0;
}
 

L - 简单计算

int max =0;

int min =10000001;

int ave =0;

循环遍历比较,比max大的 max = 该数,比min小的 min = 该数

ave = (数字1+数字2····)/n

 

M - 猜糖块

n天给的糖块总和与实际总和比较,大于等于即可得出结果

N - C语言实验——分数序列

参考·圆周率的计算

O - 期末考试之分等级

for循环+if-else if-else if```` 多分条件判断

P - 平方数
#include <stdio.h>
#include <stdlib.h>
#include<math.h>
int main()
{int a;
scanf("%d",&a);
int j;
for(j=0;j<a;j++){
    int n,m,t;
    scanf("%d%d",&n,&m);
    if(n>m){t=n;n=m;m=t;}
    int i,w;
    int sum = 0;
    for(i=n;i<=m;i++){
         w = sqrt(i);//参考sqrt(double x),这里不需要改变i的变量类型,否则提交WA
        if(i == w*w){
            sum+=i;
        }
    }
    printf("%d\n",sum);}
    return 0;
}
 

Q - C语言实验——打印菱形

同学加油!六组for循环,两组外循环,每组有两组内循环。仔细思考!

#include<stdio.h>
int main()
{
    int m,n;
    int i;
    int sum;
    int a1,a2,a3;
    int flag;
    int temp;
    while(~scanf("%d%d",&m,&n))
    {
        flag = 0;
        temp = 0;
        for(i = m; i <= n; i++)
        {
            a1 = i % 10;
            a2 = i / 10 % 10;
            a3 = i / 100;
            sum= a1 * a1 * a1 + a2 * a2 * a2 + a3 * a3 * a3;
            if(sum == i)//确保输出至最后一个不出现多余空格
            {
                temp++;
                if(temp == 1)
                    printf("%d",i);
                else
                    printf(" %d",i);
                flag++;
            }
        }
        if(flag == 0)
            printf("no");
        printf("\n");
    }
    return 0;
}
 

S - C语言实验——余弦

求圆周率的升级版本

 

U - A+B for Input-Output Practice (IV)

之前某题的升级版本,遇到0停止程序的运行

 

V - 小金掰呀掰不够玉米

两组循环

 其他的大家自己来吧,么么哒!有问题Q我 460752038 VX 460752038

猜你喜欢

转载自blog.csdn.net/qq_30277453/article/details/82933578