石家庄铁道大学 C程序设计代码1-3天

本文提供了石家庄铁道大学C程序设计的代码示例,包括数组元素循环右移、寻找数组中的最大值及其下标、判断体重是否符合标准、龟兔赛跑问题、手机号码统计和排序、水仙花数、完数检查、猜数字游戏等算法实现,适合学习C语言的同学参考。
摘要由CSDN通过智能技术生成

石家庄铁道大学 C程序设计代码1-3天

(部分资料来源于网上,仅供学习使用,不作其他用途
祝19级及之后学习顺利
电信专业可以 CSDN私聊我。感谢 老谢的部分代码支持!)
数组元素循环右移问题:
法一:
#include <stdio.h>

int main () {
int n,m,i;
scanf("%d%d",&n,&m);
int a[n+m];
// printf("\n初始化数组\n");
for ( i=0; i<n; i++){ //初始化数组
scanf("%d",&a[i]);
// printf(“a[%d]=%d\t”,i,a[i]);
}
// printf("\n
整体向右移%d位*\n",m);
for ( i=n-1; i>=0; i–){ //整体向右移m位
a[i+m] = a[i];
// printf(“a[%d]=%d\t”,i+m,a[i]);
}
// printf("\n把最后%d位移到最前面\n",m);
while(m–){ //把最后m位移到最前面
a[m] = a[n+m];
// printf(“a[%d]=%d\t”,m,a[n+m]);
}
// printf("\n*****************遍历输出数组****************\n");
for ( i=0; i<n; i++){ //遍历输出数组
printf("%d",a[i]);
if ( i != n-1)
printf(" ");
}
return 0;
}

法二:
#include <stdio.h>
#define MAXN 100//宏定义。当语句中 出现 MAXN 时 用 100去替代,替代完了 再编译

int main(void) {
int n, m, num[MAXN * 2], i, temp;//等于 int num[200]

scanf("%d %d", &n, &m);//输入n m     n为数字数,m为移动位置数
for (i = 0; i < n; i++) {
    scanf("%d", &num[i]);  //存入 n个数字到数组Num【】
}
m %= n;         //m=m%n 把m原来的值更换为m%n的值(考虑M比N大,或者恰好且正好是N的倍数的情况,此时等于m=0.即移动距离为0)
for (i = n + m - 1; i > m - 1; i--) {    //将数组num数组整体后移动m个单位
    num[i] = num[i - m];
}
for (i = 0; i <= m - 1; i++) {    //将最后m个数移动到 前m的位置
    num[i] = num[n + i];
}
for (i = 0; i < n; i++) {         //输出
    if (i == 0) {                      // 考虑最小 N M 情况
        printf("%d", num[i]);       
    }
    else {
        printf(" %d", num[i]);
    }
}
printf("\n");

return 0;

}
2. 求最大值及其下标
#include<stdio.h>
int main()
{
int n,t,i;
scanf("%d",&n);
int a[n];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
/找最大值a[t]/
t=0; /假设a[t]是最大值,即下标为0的元素最小/
for(i=1;i<n;i++)
if(a[i]>a[t]) /如果a[i]比假设的最大值还大/
t=i; /再假设a[i[是新的最大值,即下标为i的元素最大/
printf("%d %d",a[t],t); /输出最大值和对应的下标/
return 0;
}
//验证思路1
#include <stdio.h>
int main()
{
int n,h,w,a,b,c;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d%d",&h,&w);
b=(h-100)0.92;
if(w<b0.1+b&&w>b-b0.1)
printf(“You are wan mei!\n”);
else if(w>=b0.1+b)
printf(“You are tai pang le!\n”);
else if(w<=b-b
0.1)
printf(“You are tai shou le!\n”);
}
return 0;
}
/#思路二:include<stdio.h>
int main()
{
int n,h,w,a,b,c;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d%d",&h,&w);
b=(h-100)0.92;
if(abs(w-b)<b
0.1)
printf(“You are wan mei!\n”);
else if(w>b)
printf(“You are tai pang le!\n”);
else
printf(“You are tai sho

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值