简单C语言程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单C语言程序相关的知识,希望对你有一定的参考价值。

简单C语言程序求出4行3列的二维数组中,每列元素中的最小值,并计算它们的和值。说明:二维数组元素的初始值从键盘中输入

注意是每列元素最小值和它们的和值

超级急,求运行通过的C语言代码!拜托!谢谢各位!

1.输入2个正整数m和n,求其最大公约数和最小公倍数
#include
#include
int main()

int m,n,p,q,s,r;
printf("请输入两个正整数;m,n\n");
scanf("%d,%d",&m,&n);
s=m*n;
if(m<n)

p=m;
m=n;
n=p;

printf("%d\t%d\n",m,n);/*按从大到小输出m,n */
while(n!=0)

q=m%n;
m=n;
n=q;

/*是不是m才是最大公约数啊*/
r=s/m;
printf("m和n最大公约数为 %d\n",m);
printf("m和n最小公倍数为 %d\n",r);/*m和n的积除以m和n的最大公约数即为最小公倍数*/
return 0;


2.输出100以内能被3整除且个位数为6的所有整数。
#include
int main(void)

int i;
for(i=1;i<=100;i++)
if(i%3==0&&i%10==6)printf("%d ",i);
return 0;


3. 编程计算从1到10各数阶乘的和,即1! + 2! + 3! + …… + 9! + 10! 的和
#include
int main(void)

int sum,i,term;
sum=0;
term=1;
for(i=1;i<=10;i++)

term=term*i;
sum=sum+term;
printf("%d的阶乘 %d\n",i,term);

printf("1到10各数阶乘的和 %d\n",sum);
return 0;


4.使用嵌套循环产生下列由大写字母组成的图
#include
int main(void)

char ch1,ch2;
for(ch1='A';ch1<='Z';ch1++)

for(ch2='A';ch2<=ch1;ch2++)
printf("%c",ch2);
printf("\n");

return 0;


5. 编程输出所有三位数中的素数。
#include
int main(void)

int x,i;
for(x=100;x<=999;x++)

for(i=2;i<x/2;i++)
if(x%i==0)break;
if(i==x/2)printf("%d ",x);

return 0;


6. 定义一个函数even(),判断一个整数是否是偶数。如果是偶数返回1,否则返回0。(要求包括能使程序正常运行的主函数)
#include
int main(void)

int even(int);
int x,y;
scanf("%d",&x);
y=even(x);
if(y==1)
printf("%d 是偶数\n",x);
else
printf("%d 是奇数\n",x);
return 0;

int even(int x)

if(x%2==0)
return 1;
else
return 0;


7. 编写函数mypow,求整型变量x的y次方。(要求包括能使程序正常运行的主函数)

#include
int main(void)

int mypow(int,int);
int x,y,s;
scanf("%d%d",&x,&y);
s=mypow(x,y);
printf("%d的%d次方是 %d\n",x,y,s);
return 0;

int mypow(int x,int y)

int sum,i;
sum=1;
for(i=1;i<=y;i++)
sum=sum*x;
return sum;


8.输入一个3位整数,输出它的逆序数。例如,输入127,输出应该是721。
#include
int main(void)

int x,y;
scanf("%d",&x);
y=x/100+x/10%10*10+x%10*100;
printf("%d的逆序数 %d\n",x,y);
return 0;


9. 编写一个字符串连接函数,其功能是将两个字符串连接起来形成一个新的字符串,以实现库函数strcat()的功能
#include
int main(void)

void mystrcat(char s1[],char s2[]);
char s1[80],s2[80];
scanf("%s%s",s1,s2);
mystrcat(s1,s2);
printf("%s\n",s1);
return 0;

void mystrcat(char s1[],char s2[])

int i,j;
for(i=0;s1[i]!='\0';i++);
for(j=0;s2[j-1]!='\0';j++)s1[i+j]=s2[j];


10. 编写一个字符串复制函数,其功能是将字符数组s2中的全部字符(包括字符串结束符号'\0')拷贝到字符数组 s1 中,以实现库函数strcpy()的功能。

#include
int main(void)

void mystrcpy(char s1[],char s2[]);
char s1[80],s2[80];
scanf("%s",s2);
mystrcpy(s1,s2);
printf("%s\n",s1);
return 0;

void mystrcpy(char s1[],char s2[])

int i;
for(i=0;s2[i-1]!='\0';i++)
s1[i]=s2[i];


11.有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串
#include
int main(void)

void mystrcpy2(char s1[],char s2[],int m,int n);
char s1[80],s2[80];
int m,n;
scanf("%d%d",&m,&n);
scanf("%s",s1);
mystrcpy2(s1,s2,m,n);
printf("s1: %s\ns2: %s\n",s1,s2);
return 0;

void mystrcpy2(char s1[],char s2[],int m,int n)

int i,j;
for(i=m-1,j=0;i<n&&s1[i]!='\0';i++)
s2[j++]=s1[i];
s2[j]='\0';
参考技术A #include "stdio.h"
int main(int argv,char *argc[])
int i,j,s,t,a[4][3];
for(i=0;i<4;i++)
for(j=0;j<3;printf("%d\\t",a[i][j++]))
scanf("%d",a[i]+j);
printf("\\n");

printf("\\n");
for(s=i=0;i<3;i++)
for(t=a[j=0][i];j<4;j++)
if(t>a[j][i])
t=a[j][i];
printf("%d:\\t%d\\n",i,t);
s+=t;

printf("\\nThe total of them is %d\\n\\n",s);
return 0; 

运行样例:

本回答被提问者采纳
参考技术B 回答

C语言程序本书是根据非计算机专业计算机基础课程教学指导分委员会提出的“关于进一步加强高等学校计算机基础教学的意见”(简称白皮书)中“高等学校非计算机专业计算机基础课程教学基本要求”部分的C程序设计课程大纲编写而成。全书共分10章,系统地介绍了程序设计基本概念,C语言的各种数据类型、运算符与表达式、模块化程序设计方法、流程控制结构和文件系统的基本操作,对面向对象编程基础也进行了初步阐述。

提问

哪里错了帮忙改改

回答

亲亲这题超出回答范围了哦需要了解c语音程序请咨询这类专业人士哈

参考技术C #include

int fun(int num1, int num2);

void main()

int num1, num2;
int sum;
printf("请输入两个整数:\n");
scanf("%d %d", &num1, &num2);
if(num1 > num2)

int tmp = num1;
num1 = num2;
num2 = tmp;

sum = fun(num1, num2);
printf("大于等于%d小于等于%d的所有整数和是%d\n", num1, num2, sum);


int fun(int num1, int num2)

int i, sum = 0;
for(i=num1; i<=num2; i++)

sum += i;

return sum;

在c语言中用最简单的方法把十进制转化为十六进制

10要用A来表达,后面也是一样的

代码如下:

#include "stdio.h" 
int main() 
 
int num=0;
int a[100]; 
int i=0; 
int m=0;
int yushu; 
char hex[16]='0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F';
printf("请输入一个十进制整数:"); 
scanf("%d",&num); 
while(num>0) 
 
yushu=num%16; 
a[i++]=yushu; 
num=num/16; 
 
printf("转化为十六进制的数为:0x"); 
for(i=i-1;i>=0;i--)//倒序输出 
m=a[i];
printf("%c",hex[m]); 
 
printf("\\n"); 

程序运行结果:

扩展资料

C语言中,十进制转换十六进制,可以先输入十进制整数,然后去拼十六进制,十六进制由数字 0~9、字母 A~F 或 a~f(不区分大小写)组成,使用时必须以0x或0X(不区分大小写)开头,只需把二进制除以16得到余数去上面定义的hex[16]数组进行取值接可以得到转换的数字。

参考资料:百度百科-十六进制

参考技术A

#include <stdio.h>

void dec2hex(int n)

if(n>15)dec2hex(n/16);

printf("%c",n%16<10?n%16+'0':n%16+55);

int main()

int n;

scanf("%d",&n);

dec2hex(n);

return 0;

 

参考技术B #include <stdio.h>
int main()

    int a;
    printf("input a num:");
    scanf("%d",&a);
    printf("HEX:0x%02x",a);   
    return 0;

参考技术C #include <stdio.h>

int main()

    int n;
    scanf("%d", &n);
    printf("%X", n);
    return 0;

 %x %X就是以十六进制的形式输出一个整数,字母的大小写形式与x相同

追问

return 0在程序表达的意思是

追答

main函数返回值为0,不写的话也不会报错,但这是一个好习惯,所以最好写上。有的程序用main函数实现递归,这时,返回值就有必要了。有的编译器里,没有收到main返回的0,会给出警告

追问

哦哦,谢谢!那还有别的方法吗?

追答

上面的程序不是真正的转换,只是换个形式输出(因为你问的最简单的方法。。。),要是需要转换的话,我写一下代码,稍等。。

追问

谢谢,如果可以能够加一下你的qq嘛!我才学c语言有很多的不懂,可以请教你吗?

追答

可以加这个群,备注里说明一下:181471759。

#include <stdio.h>

int main()

    int n, temp, i = 0;
    char result[10];
    scanf("%d", &n);
    if (n < 0)
        result[i++] = '-';
    while (n != 0)
    
        temp = n % 16;
        n = n / 16;
        if (temp < 10)
            result[i++] = temp + '0';
        else
            result[i++] = temp + 55;
    
    for (temp = i - 1; temp >= 0; temp--)
        printf("%c", result[temp]);
    return 0;

这是代码

参考技术D 在printf函数中,你可以用%x格式来输出16进制
如:
int a = 10;
printf("%x", a);

以上是关于简单C语言程序的主要内容,如果未能解决你的问题,请参考以下文章

最简单的C语言问题!!!!

用C语言写简单密码检测程序

c语言简单程序解释一下

关于C语言程序的一个简单题

c语言简单程序解释一下

求用C语言编写一个简单的学生信息管理程序【 C++】网上之前有C 的好像