使用if多分支结构:
c
#include<stdio.h>
int main()
{
int score
scanf("%d", &score)
if(score>=90 &&score<=99){
printf("学生的成绩等级为A\n")
}else if(score>=80 &&score<=89){
printf("学生的成绩等级为B\n")
}else if(score>=70 &&score<=79){
printf("学生的成绩等级为C\n")
}else if(score>=60 &&score<=69){
printf("学生的成绩等级为D\n")
}else if(score>=0 &&score<=59){
printf("学生的成绩等级为E\n")
}else{
printf("输入的成绩不合法\n")
}
return 0
}
使用switch多分支结构:
c
#include<stdio.h>
int main()
{
int score
printf("请输入学生的成绩:\n")
scanf("%d", &score)
switch(score/10){
case 10:
case 9:
printf("学生的成绩等级为A\n")
break
case 8:
printf("学生的成绩等级为B\n")
break
case 7:
printf("学生的成绩等级为C\n")
break
case 6:
printf("学生的成绩等级为D\n")
break
default:
if(score>=0 &&score<=59){
printf("学生的成绩等级为E\n")
}else{
printf("输入的成绩不合法\n")
}
break
}
return 0
}
题目2:
c
#include<stdio.h>
#include<math.h>
int is_prime(int num)
{
int i
for(i=2i<=sqrt(num)i++){
if(num%i == 0){
return 0
}
}
return 1
}
int main()
{
int num
printf("请输入一个整数:\n")
scanf("%d", &num)
if(is_prime(num)){
printf("%d是素数\n", num)
}else{
printf("%d不是素数\n", num)
}
return 0
}
题目3:
c
#include<stdio.h>
#define N 5
int main()
{
int arr[N]
int i, temp
printf("请输入%d个数:\n", N)
for(i=0i<Ni++){
scanf("%d", &arr[i])
}
for(i=0i<N/2i++){
temp = arr[i]
arr[i] = arr[N-1-i]
arr[N-1-i] = temp
}
printf("逆序输出数组:")
for(i=0i<Ni++){
printf("%d ", arr[i])
}
printf("\n")
return 0
}
代码文本:
#include "stdio.h"
int main(int argc,char *argv[]){
FILE *fp
int t[21],i,j,k,n
if(!(fp=fopen("numbers.txt","r+"))){
printf("Open the file failure, exit...\n")
return 0
}
printf("The original sequence is as follows:\n")
for(n=0fscanf(fp,"%d",t+n)!=EOFn++)//读并输出
printf("%d ",t[n])
putchar('\n')
rewind(fp)
printf("After sorting as follows:\n")
for(i=0i<ni++){//排序并输出
for(k=i,j=k+1j<nj++)
if(t[k]>t[j])
k=j
if(k-i)
j=t[k],t[k]=t[i],t[i]=j
printf("%d ",t[i])//输出到屏幕
fprintf(fp,"%d ",t[i])//输出到文件
}
putchar('\n')
fclose(fp)
return 0
}
原文件式样:
排序后文件式样:
下面是一个可以利用指针将两个字符串连接起来的 C 语言程序。该程序定义了一个子函数 `StrCat`,用于将两个字符串连接起来,并返回连接后的结果。主函数中,我们先从标准输入读入两个字符串,然后根据它们的长度调用 `StrCat` 函数,将它们连接起来并输出结果。```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
char* StrCat(char* s, char* t)
int main() {
char s1[MAX_LEN], s2[MAX_LEN]
// 从标准输入读入两个字符串
printf("请输入第一个字符串:")
fgets(s1, MAX_LEN, stdin)
printf("请输入第二个字符串:")
fgets(s2, MAX_LEN, stdin)
// 将短的字符串放在前面,然后连接两个字符串
if (strlen(s1) >strlen(s2)) {
char *t = s1
s1 = s2
s2 = t
}
StrCat(s1, s2)
// 输出结果
printf("连接后的字符串为:%s", s1)
return 0
}
char* StrCat(char* s, char* t) {
int i, j
// 找到 s 末尾位置
for (i = 0s[i] != '\0'i++)
// 将 t 中的字符复制到 s 的末尾
for (j = 0t[j] != '\0'j++) {
s[i + j] = t[j]
}
s[i + j] = '\0'
return s
}
```
在这个程序中,我们首先定义了子函数 `StrCat`,该函数接受两个指向字符数组的指针 `s` 和 `t`,将 `t` 中的字符连接到 `s` 的末尾,并返回连接后的结果。具体来说,我们首先找到 `s` 的末尾位置,然后使用循环遍历 `t` 中的每个字符,并将它们复制到 `s` 的末尾。
在主函数中,我们先从标准输入读入两个字符串,并使用 `strlen` 函数获取它们的长度。然后,我们判断哪个字符串比较短,将其放在前面,并调用 `StrCat` 函数将两个字符串连接起来。最后,我们使用 `printf` 函数输出连接后的字符串。
需要注意的是,在函数 `StrCat` 中,我们没有对输入数据进行任何检查(例如,字符串的长度是否超过了数组的大小等)。如果需要确保输入数据的有效性,可以在程序中添加相应的检查代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)