统计一行英文单词个数,全为英文,仅一个空格为间隔
mian
{
char ch;
int total = 0;
while ((ch = getchar()) != '\n')
{
if (ch == ' ')
total++;
}
total++;
printf("Number of English words: %d\n", total);
}
10名雇员信息输入,按工资号冒泡从小到大排序
#define N 10
struct staff
{
char name[20];
unsigned int SalaryNo;
};
main{
struct staff S[N];
struct staff temp;
for (int i = 0; i < N; i++)
{
printf("please input name SalarNo %d\n", i);
scanf("%s %d", S[i].name, &S[i].SalaryNo);
}
for (int i = 0; i < N - 1; i++)
{
for (int j = N - 1; j > i; j--)
{
if (S[j - 1].SalaryNo >= S[j].SalaryNo)
{
temp = S[j - 1];
S[j - 1] = S[j];
S[j] = temp;
}
}
}
printf("result of sort:\n");
for (int i = 0; i < N; i++)
{
printf("%s %d\n", S[i].name, S[i].SalaryNo);
}
}
字符串左循环m位
#include "string.h"
main
{
char s[100];
int m;
printf("Please input string:");
scanf("%s", s);
printf("Enter m:");
scanf("%d", &m);
if (m > (int)strlen(s))
{
printf("\nData error.\n");
}
else
{
{
char ch;
for (int i = 0; i < m / 2; i++)
{
ch = s[i];
s[i] = s[m - i - 1];
s[m - i - 1] = ch;
}
for (int i = m; i < (int)(strlen(s) + m) / 2; i++)
{
ch = s[i];
s[i] = s[strlen(s) - 1 - (i - m)];
s[strlen(s) - 1 - (i - m)] = ch;
}
printf("Result is: %s\n", s);
for (int i = 0; i < (int)strlen(s) / 2; i++)
{
ch = s[i];
s[i] = s[strlen(s) - 1 - i];
s[strlen(s) - 1 - i] = ch;
}
}
printf("Result is: %s\n", s);
}
}
输入一串以‘#’结束的字符串,保存到file.text
#include "stdlib.h"
main
{
char ch;
FILE *fp;
fp = fopen("file.txt", "w");
while ((ch = getchar()) != '#')
{
fputc(ch, fp);
}
fclose(fp);
}