当然可以!以下是用C语言编写从1加到100的程序的示例代码:
Copy code
#include <stdioh>
int main() {
int sum = 0;
for (int i = 1; i <= 100; i++) { // 从1加到100
sum += i;
}
printf("1到100的和为:%d\n", sum);
return 0;
}
在程序中,我们使用了 for 循环,循环变量从 1 开始,到 100 结束,每次循环将当前的 i 加入到 sum 变量中。最后,我们使用 printf 输出计算得到的和。
1、打开Visual stdio 2019的空项目,右键点击左侧的源文件,依次点击新建,添加,新建项,d出新建文件的窗口:
2、新建c++文件,将文件扩展名改为c,点击添加就新建好文件了,之后就可以编写代码了:
3、这里奇数就是除以2之后有余数的整数,所以程序比简单,在for循环里判断100以内的数是否奇数,是的话就相加,最后输出结果就行了:
4、按下快捷键crtl+F5运行程序,就可以得到计算结果了。以上就是用用c语言程序求1至100之间全部奇数之和的演示程序:
以下是 C 语言代码示例:
```c
#include <stdioh>
#include <mathh>
int main() {
char octal[20];
int decimal = 0, i, len;
printf("请输入一个八进制数字:");
scanf("%s", octal);
len = strlen(octal);
for (i = 0; i < len; i++) {
decimal += (octal[i] - '0') pow(8, len-i-1);
}
printf("转换为十进制数为:%d\n", decimal);
return 0;
}
```
该代码中,首先使用 `scanf` 函数读入一个字符串。由于输入的是一个八进制数字字符串,因此可以直接使用字符数组存储。
然后,使用循环遍历该字符串的每一位数字,并将其转换为十进制数。在计算过程中,将每一位数字乘以 8 的相应次幂,然后依次加起来即可。
最后,使用 `printf` 函数输出转换后的十进制数。运行程序后,输入一个八进制数字字符串,例如 123,然后输出的结果为:
```
转换为十进制数为:83
```
因此,输入的八进制数字 123 转换为十进制数为 83。
/1输入一个以回车结束的字符串(少于80个字符),将其中的大写字母用下面列出的对应大写字母替换,其余字符不变,输出替换后的字符串
原字母 对应字母
A Z
B Y
C X
D W
X C
Y B
Z A/
/#include <stdioh>
void main()
{
char str[80];
char a;
int i=0;
scanf("%c",&a);
while(a!='\n')
{
if(a>='A'&&a<='Z')
str[i++]='A'+'Z'-a;
else
str[i++]=a;
scanf("%c",&a);
}
str[i]=0;
printf("%s\n",str);
}/
/2删除字符串中的字符
输入一个字符串s,再输入一个字符c,将字符串s中出现的所有字符c删除。
要求定义并调用函数delchar(s,c),它的功能是将字符串中的出现的所有c字符删除
输入输出示例
Input a string: happy new year
Input a char: a
After deleted, the string is: hppy new yer/
/#include <stdioh>
#include <stringh>
void delchar(char s,char c)
{
char tmp[255];
int i=0,j=0;
for(;i<strlen(s);i++)
if(s[i]!=c)
tmp[j++]=s[i];
tmp[j]=0;
strcpy(s,tmp);
}
void main()
{
char s[255],c;
printf("Input a string:");
gets(s);
printf("Input a char:");
scanf("%c",&c);
delchar(s,c);
printf("After deleted, the string is:%s\n",s);
}/
/3字符串复制。输入一个字符串t和一个正整数m,将字符串t中从第m个字符开始的全部字符复制到字符串s中,再输出字符串s
。要求用字符指针定义并调用函数strmcpy(s,t,m),它的功能是将字符串t中从第m个字符开始的全字符复制到字符串s中。
输入输出示例
Input a string: happy new year
Input an integer: 7
Output is: new year /
/#include <stdioh>
#include <stringh>
void strmcpy(char s,char t,int m)
{
int i,j=0;
i=m-1;
while(t[i])
s[j++]=t[i++];
s[j]=0;
}
void main()
{
char s[255],t[255];
int m;
printf("Input a string:");
gets(t);
printf("Input a integer:");
scanf("%d",&m);
strmcpy(s,t,m);
printf("Output is:%s\n",s);
}/
/4编程判断输入的一串字符是否为“回文”。所谓“回文”,是指顺读和倒读都是一样的字符串。如”XYZYX”和”xyzyx”,都是“回文”。
输入输出示例:
第一次运行:
Input a string: abcddcba
YES
第二次运行:
Input a string:abcddcb
NO/
/#include <stdioh>
#include <stringh>
int isHunwen(char s)
{
int i;
for(i=0;i<strlen(s)/2;i++)
if(s[i]!=s[strlen(s)-1-i])
return 0;
return 1;
}
void main()
{
char s[255];
printf("Input a string:");
gets(s);
if(isHunwen(s))
printf("YES\n");
else
printf("NO\n");
}/
/5输入一行文字,统计其中的大写字母、小写字母、空格、数字以及其他字符的个数。
输入输出示例:
Input a string: bFaE3+8=1 B
大写字母的个数为:3
小写字母的个数为:2
空格的个数为:1
数字的个数为:3
其他字符的个数为:2 /
#include <stdioh>
#include <stringh>
#include <ctypeh>
void main()
{
char s[255];
int i=0,up=0,low=0,space=0,num=0,other=0;
printf("Input a string:");
gets(s);
while(s[i])
{
if(isupper(s[i]))
up++;
else if(islower(s[i]))
low++;
else if(isspace(s[i]))
space++;
else if(isdigit(s[i]))
num++;
else
other++;
i++;
}
printf("大写字母的个数为:%d\n",up);
printf("小写字母的个数为:%d\n",low);
printf("空格的个数为:%d\n",space);
printf("数字的个数为:%d\n",num);
printf("其他字符的个数为:%d\n",other);
}
在C语言中,可以编写一个简单的程序来实现这个功能。以下是一个示例程序:
#include
int main() {
float input_number, result;
int choice;
printf("请输入一个实数: ");
scanf("%f", &input_number);
printf("按1输出此数相反数,按其他数字退出: ");
scanf("%d", &choice);
if (choice == 1) {
result = -input_number;
printf("相反数为: %2f\n", result);
} else {
printf("程序已退出。\n");
}
return 0;
}这个程序首先接收用户输入的实数,然后询问用户是否要输出相反数。如果用户输入1,程序将计算并输出相反数;否则,程序将退出。请注意,这个程序只适用于C语言。
C语言编程如何快速实现
在我们初次学习C语言的时候,总想着快速的实现编译过程。那么C语言编程究竟是如何实现的呢,当然是要通过自己喜欢的编译器来编译完成,那么今天就为大家介绍C语言编程是如何快速的实现。
1 首先我们下载一款适合C语言的编译器,今天为大家讲解的C语言编译器为CodeBlocks,该编译器没有太过复杂,很符合初学者,简单上手快。
2 首先双击打开编译器,进入登录选择界面,我们选择添加一个新项目。
3 然后进入选择界面,优先选择“Console application”,然后双击进入下一个界面。
4 进入之后便是提示界面,我们选择“Next”下一步。然后在选择C++语言,C++语言是C语言的升级版,然后再次点击“Next”,进入下一步。
5 选择创建的名称,可以创建一个醒目的名称。然后便是文件放置位置,然后点击“Next”。
6 点击最左侧栏“maincpp”会出现编程书写界面,然后便可以实现我们的代码编程。
7 首先要属于有关C语言的头文件#include<stdioh>,头文件是为了下面更好的应用,如果编程的代码有遇到其他头文件如数学函数头文件#include<mathh>,以及字符串头文件#include<stringh>。
8 对于C语言我们首先要学会的便是输出“Hello world”,那么今天我们就实现Helloworld的输出。在主程序优先写出main函数,然后便是对于我们要用到的内容开始书写。因为我们只需要输出简单的“Helloworld”,所以整条语句便是只有一行printf("");输出的意思,我们只需要将自己想要输出的填写在双引号里面便可以实现。那么我们的代码行便成为了printf("Hello world");
9 下面便是测试我们的代码是否正确,点击上方的编译,如果成功,便可以运行如下,运行框成功出现我们结果,表明编译成功,便完成了基础的C语言编译。
#include <stdioh>
#include <windowsh>
#include <stringh>
#include <stdlibh>
#define MAX 1000
void main1()
{
int a, p;
p = &a;
printf("please input a number:");
scanf("%d", p); // 对p指向的a地址输入值
printf("a=%d\np=%d\n", a, p); // 输出a地址存的值 输出p指向的地址a的内容
}
void main2()
{
int a,p;
p = &a;
printf("please input a number:");
scanf("%d", &a); // 对p指向的a地址输入值
printf("p=%p p=%d\n", p,p);// 输出p指向的a的首地址号不足的位数用00补齐 输出p指向的地址a的内容
printf("%4d%4d %x\n", (p)++, ++(p), p);//输出现在p指向的地址,输出p指向的地址内的值加一后的值,输出p指向的地址内的值加一后的值再加一
printf("%4d%4d\n", p++, p);// 输出上个程序加一后的p指向的地址的内容
printf("p=%x\n", p);// 输出现在p指向的地址号
}
void sub(int x, int y, int z)
{
z = y - x;
}
void main3()
{
int a, b, c;
sub(10, 5, &a);// 把10和5分别富值给x,y 把a的地址传个z在sub中对z指向的a地址富值
sub(7, a, &b);// 把7和a的值分别富值给x,y 把b的地址传个z在sub中对z指向的b地址富值
sub(a, b, &c);// 把a的值和吧的值分别富值给x,y 把c的地址传个z在sub中对z指向的c地址富值
printf("a=%d\nb=%d\nc=%d\n", a, b, c);// 输出被赋值后的a b c
}
void main4()
{
int a[] = {1, 2, 3, 4, 5};
int p = NULL;
p = a;// p指向a的首地址
printf("%d ", p);// 输出p指向的a首地址的第一个元素的内容
printf("%d ", (++p));// p的指向后移动指向a的第二个元素并输出她的内容
printf("%d ", ++p);// p的指向后移动指向a的第二个元素并输出她的内容
printf("%d ", (p--));// p输出值后指向的位子向前移一个元素
printf("%d ", p++);// 输出p的值后再将p的指向向后移一个元素
printf("%d ", p);// 输出p移后的指向的地址的值
printf("%d ", ++(p));// 对p指向的地址的值加一后输出值
printf("%d\n ", p);// 输出现在p指向的地址的值
}
f(int t)
{
t =10;
}
void main5()
{
int p, a;
a = 2;
p = &a;// p指向a的地址
f(p);// 把p指向的a的地址传给t在子函数中对a进行重新赋值;
printf("a=%d\n", a);// 输出a重新赋的值
}
void main6()
{
int a[10], j, p;
for (j = 0; j < 10; j++)
a[j] = j+1; // 对数组a进行赋值
printf("\nOutput array using a[j]:\n");
for (j = 0; j < 10; j++)
printf("%d ", a[j]);// 输出赋值后的a
p = a; // p指向数组a首地址
printf("\nOutput array using p[j]:\n");
for (j = 0; j < 10; j++)
printf("%d ", p[j]); // 把指针p当数组用输出p指向的a的各个元素
printf("\nOutput array using( p+j):\n");
for (j = 0; j < 10; j++)
printf("%d ", (p+j)); // 把指针p当数组用输出p指向的a的各个元素
printf("\nOutput array using( a+j):\n");
for (j = 0; j < 10; j++)
printf("%d ", (a+j)); // 使用数组a的指针性质
printf("\nOutput array using p++:\n");
for (j = 0; j < 10; j++)
printf("%d ", p++); // 把指针p当数组用输出p指向的a的各个元素
printf("\n");
}
void Input(float p,int n)
{
int i;
printf("Pleese input %d score: ",n);
for(i=0;i<n;i++)
{
scanf("%f",(p+i));
}
}
void Output(float q,int n)
{
int i;
printf("Output the score:\n");
for(i=0;i<n;i++)
{
printf("%f\n",(q+i));
}
}
void FMax(float score[], int n,float maxs,int maxn )
{
int i;
maxs=score[0];
for(i=1;i<n;i++)
{
if(score[i]>maxs)
{
maxs=score[i];
maxn=i;
}
}
}
void FMin(float score[], int n,float mins,int minn )
{
int i;
mins=score[0];
for(i=1;i<n;i++)
{
if(score[i]<mins)
{
mins=score[i];
minn=i;
}
}
}
void main7()
{
float score[MAX],maxs,mins;
int maxn,minn;
Input(score,10);
Output(score,10);
FMax(score,10,&maxs,&maxn);
FMin(score,10,&mins,&minn);
printf("maxscore=%2f,\t\tmaxnum=%d\nminscore=%2f,\t\tminnum=%d\n",maxs,maxn,mins,minn);
}
int aver(int (p)[5],int q)
{
int j,m=0,b;
for(j=0;j<5;j++)
{
m+=((p+q-1)+j);
}
b=m/5;
return(b);
}
void main8()
{
int i,j,(pscore)[5],a,n,q[10][5];
pscore=q;
printf("Please input ten students's five scores:\n");
for(i=0;i<10;i++)
{
for(j=0;j<5;j++)
{
scanf("%d",&pscore[i5+j]);
}
}
printf("Please input students's number:");
scanf("%d",&n);
a=aver(pscore,n);
printf("第%d学生五门成绩的平均值为:%d\n",n,a);
}
void main9()
{
char str1,str2,str3,a[100],b[100],c[100];
str1=&a[0];
str2=&b[0];
str3=&c[0];
printf("str1=");
gets(str1);
printf("str2=");
gets(str2);
strcat(str1,str2);// 把字符串str2接到字符串str1的后面
printf("str1=%s\n",str1);// 输出连接后的字符串str1
strcpy(str3,str1);// 把字符串str1接到字符串str3的后面
printf("str3=%s\n",str3);// 输出连接后的字符串str3
}
void main10( )
{
char p = "abcdefghijklmnopq";
while( p++!='e')// 指针p的指向地址向后移一个元素判断是不是等于'e'
printf("%c\n", p);// 如果判断等于'e'就输出p指向的地址内的字符
}
void main11()
{
char b[] = "program";
char a = "PROGRAM";
int i = 0;
printf("%c%s\n", a,b+1);// 先对数组b加一后输出b 再输出a
while (putchar((a+i)))
{
i++;
}
printf("i = %d\n", i);// 判断a有多少个字符输出
while (--i)
{
putchar((b + i)); // 将p字符串逆向输出不输出最后一个
}
printf("\n%s\n", &b[3]);// 输出b字符串的最后四位
}
void main12( )
{
int a=1, p, pp;
pp =&p;
p =&a;
a++;
printf ("%d,%d,%d\n",a,p, pp);// a是a加一后的值 P是指向的a地址内的值 pp是指向的 P是指向的a地址内的值
}
void main13()
{
char alpha[7]={ " ABCD","EFGH ","IJKL ","MNOP ","QRST ","UVWX ","YZ "};
char p;
int i;
p = alpha;
for(i = 0;i < 4;i++)
printf("%c", (p[i]));// 输出指向的前四个字符串的第一个字母
printf("\n");
}
void main14()
{
char n[100];
char s [ ]={"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Ten"};
int i,x,len;
printf("输入一串阿拉伯数字:\n");
gets(n);
len=strlen(n);// 计算输入的n的长度
for(i=0;i<len;i++)
{
x=(n+i)-48; / 48为字符"0"的ASCII码 /
printf("%s ",s[x]);// 将输入的数字当地址号
}
printf("\n");
}
unsigned int MyStrlen(char s[ ])
{
char p = s;
while (p !='\0' )
{
p++;
}
return(p-s );
}
void main15()
{
char a[1000];
int b;
printf("Input char number:");
gets(a);
b= MyStrlen(a);
printf("The number's len:%d\n",b);
}
void reading(char (a)[5], int num)
{
int i=0;
gets(a[i]);
while(!strcmp(a[i],"")==0)
{
gets(a[i]);
}
num=i;
}
void findmax(char (a)[5], int num,char max)
{
int i;
for (max=a[0],i=1;i<num;i++)
{
if(strcmp(a[i],max)>0)
max=a[i];
}
}
void main16()
{
char ss[10][5],ps;
int n;
reading(ss,&n);
findmax(ss,&n,&ps);
printf("max=%s\n",ps);
}
int search1(int(s)[4],int len,int n)
{
int i,j;
for (i = n; i<len; i++)
{
for (j=0; j<4; j++)
{
if (((s+i)+j) < 60)
{
n=i;
return s[i];//如有不及格的返回地址
}
}
}
return NULL;//如果没有返回NULL,好打出没有成绩不及格的同学
}
int search2(int(s)[4],int len,int n)
{
int i,j;
for (i = n; i<len; i++)
{
for (j=0; j<4; j++)
{
if (((s+i)+j) < 90)
{
n=i;
return s[i];//如有不及格的返回地址
}
}
}
return NULL;//如果没有返回NULL,好打出没有成绩不及格的同学
}
void main17()
{
int i,j,n,score[1000][4],count=0,x;
int p;
p=&score[0][0];
printf("Pleese input the students's total number(小于1000):\n ");
scanf("%d",&n);
printf("Pleese input every student's score:\n ");
for(i=0;i<n;i++)
{
for(j=0;j<4;j++)
{
scanf("%d",&p[i4+j]);
}
}
printf("是100分制请输入100,150分制请输入150:");
scanf("%d",&x);
switch(x)
{
case 100:
i=0;//从第一个开始擦找
while (i<n+1)
{
p=search1(score,&n, &i);
if (p)//如果有
{
printf("不及格的是第 %d 个人,三科成绩分别为:\n",i+1);
for (j = 0; j < 4; j++)
{
printf("%d, ", p++);
}
count++;//记录有几个不及格的
printf("\n");
}
i++;
}
if (!p&&count==0)//如果没有
{
printf("没有成绩不及格的同学\n");
}
break;
case 150:
i=0;//从第一个开始擦找
while (i<n+1)
{
p=search2(score,&n, &i);
if (p)//如果有
{
printf("不及格的是第 %d 个人,三科成绩分别为:\n",i+1);
for (j = 0; j < 4; j++)
{
printf("%d, ", p++);
}
count++;//记录有几个不及格的
printf("\n");
}
i++;
}
if (!p&&count==0)//如果没有
{
printf("没有成绩不及格的同学\n");
}
break;
default:
printf("Incorrect letter entered ");
}
}
#define MAXI 16
#define N 5
void sort(char (s)[MAXI],int n)
{
int i , j;
char temp =(char )malloc(sizeof(char ) MAXI) ;
for(i = 0; i < n-1 ; i++)
{
for(j = i+1; j < n ; j++)
{
if(strcmp(s[i] , s[j]) > 0) //这里的排序不能用s[i] = s[j],错误:incompatible types in assignment
{
strcpy(temp,s[i]);
strcpy(s[i],s[j]);
strcpy(s[j],temp);
}
}
}
free(temp);
}
void print(char (s)[MAXI],int n)
{
int i;
for(i = 0; i < n ; i++)
{
printf("%s\n",s[i]);
}
}
void main18()
{
int index;
char str[N][MAXI];
for(index = 0; index < N ;index++)
{
printf("请输入第%d个字符串:\n",index+1);
gets(str[index] );
}
sort(str,N);
print(str,N);
}
void main19()
{
printf("\t\t\t\t欢迎使用");
printf("\n");
printf("\t\t");
printf("\n\t\t\t\t\t\t\t\t");
printf("\n\t\t\t\t\t\t\t\t");
printf("\n\t\t\t\t输入1第①个实验\t\t");
printf("\n\t\t\t\t输入2第②个实验\t\t");
printf("\n\t\t\t\t输入3第③个实验\t\t");
printf("\n\t\t\t\t输入4第④个实验\t\t");
printf("\n\t\t\t\t输入5第⑤个实验\t\t");
printf("\n\t\t\t\t输入6第⑥个实验\t\t");
printf("\n\t\t\t\t输入7第⑦个实验\t\t");
printf("\n\t\t\t\t输入8第⑧个实验\t\t");
printf("\n\t\t\t\t输入9第⑨个实验\t\t");
printf("\n\t\t\t\t输入10第⑩个实验\t\t");
printf("\n\t\t\t\t输入11第⑾个实验\t\t");
printf("\n\t\t\t\t输入12第⑿个实验\t\t");
printf("\n\t\t\t\t输入13第⒀个实验\t\t");
printf("\n\t\t\t\t输入14第⒁个实验\t\t");
printf("\n\t\t\t\t输入15第⒂个实验\t\t");
printf("\n\t\t\t\t输入16第⒃个实验\t\t");
printf("\n\t\t\t\t输入17第⒄个实验\t\t");
printf("\n\t\t\t\t输入18第⒅个实验\t\t");
printf("\n\t\t\t\t输入0结束\t\t\t");
printf("\n\t\t\n");
}
void main()
{
int n,m;
do{
system("cls");
main19();
printf("请输入所需要选择运行的程序的序号:");
scanf("%d",&n);
switch(n)
{
case 1:
main1();
break;
case 2:
main2();break;
case 3:
main3();break;
case 4:
main4();break;
case 5:
main5();break;
case 6:
main6();break;
case 7:
main7();break;
case 8:
main8();break;
case 9:
main9();break;
case 10:
main10();break;
case 11:
main11();break;
case 12:
main12();break;
case 13:
main13();break;
case 14:
main14();break;
case 15:
main15();break;
case 16:
main16();break;
case 17:
main17();break;
case 18:
main18();break;
default:
printf("选错了!!!!!!!\n");
}
printf("不想继续就输入0否则输入任意数字:");
scanf("%d",&m);
}while(m!=0);
}
c语言编程利用自定义函数求两个数的和的方法如下:
首先需要定义一个自定义函数,命名为sum,参数为两个整数a和b,返回值为整数类型。
在自定义函数中,使用return语句返回a和b的相加结果。
在主函数中,定义两个整数变量x和y,使用scanf()函数从键盘输入它们的值。
在主函数中,调用sum(x,y)函数,并将返回值赋给一个整数变量z。
在主函数中,使用printf()函数输出z的值。
以下是一个可能的代码示例:
// 定义自定义函数sumint sum(int a, int b){ return a + b; // 返回a和b的相加结果}// 主函数int main(){ int x, y, z; // 定义三个整数变量scanf("%d%d", &x, &y); // 从键盘输入x和y的值
z = sum(x,y); // 调用sum(x,y)函数,并将返回值赋给z
printf("%d\n", z); // 输出z的值
return 0;
}
以上就是关于谁能用c语言中的for语句,编写个从1加到100的程序全部的内容,包括:谁能用c语言中的for语句,编写个从1加到100的程序、用C语言程序求1至100之间全部奇数之和的演示程序、输入一个八进制数字字符串,将其转换成十进制数后输出。C语言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)