2021-10-09——1、实现将输入的字符串每个字符“循环左移”m位…….2、从键盘输入一串以“#”为结束符的字符串,并写入文本文件file.txt中。

  • Post author:
  • Post category:其他




每日一题


每日一题

____

请编写函数char *fun(char *str,int m),实现将输入的字符串每个字符“循环左移”m位。例如,输入“ABCDE”,则循环左移2位应输出“CDEAB”,若输入“1234567”,则循环左移3位输出“4567123”。在主函数中实现输入,调用函数fun,然后输出。

.

.

#include <string.h>
/*--------------------------------do-------------------------------*/
char *fun(char *str,int m){
	for (int j = 0; j < m; j++) {
		for (int i = 0;; i++) {
			static char temp = 0;
			if (i == 0) {
				temp = str[i];
			}
			if (str[i + 1] != '\0') {
				str[i] = str[i + 1];
			}
			else {
				str[i] = temp;
				break;
			}
		}
	}
	return str;//注意返回值是char*类型
  }
/*--------------------------------do-------------------------------*/
void main(){
	char s[100];
	int m;
	printf("Please input string:");
	scanf("%s",s);
	printf("Enter m:");
	scanf("%d",&m);
	if(m>strlen(s)){
		printf("\nData error.\n");
		return;
	}
	printf("Result is %s\n",fun(s,m));
  }


多加一题

____

编写程序,从键盘输入一串以“#”为结束符的字符串,并写入文本文件file.txt中。

.

.

#include<stdio.h>
int main(){
	FILE *fp=fopen("text3.txt","w"); //打开文件往里面写入“w”

	char str[32];
	gets(str);       //先用键盘写入保存在一个字符数组str中。
	
	char* p;
	p = str;        //因为str不能自加,可以用指针p指向str
	while (*p != '\0') {    //判断'\0'结尾,如果遇见'#',用'\0'切断,使成为新的字符串,比如abc##che ,截断后str字符串就变成了abc
		if (*p == '#') {
			*p = '\0';
		}
		p++;
	}
	
	fprintf(fp,"%s", str);   //将abc“打印”到文件中。
	fclose(fp);              //关闭文件
}	


常用文件函数:

引用文本

fclose()函数

fread()函数

fwrite()函数

fscanf()函数

fprintf()函数

fgets()函数

fputs()函数

fgetc()函数

fputc()函数

fseek()函数

rewind()函数

ftell()函数

ferror()函数

feof()函数

引用文本

fopen()函数—-fopen(文件路径, 文件使用方式);

1 FILE *fp;

2 fp = fopen(“E:\ww.txt”, “r”);

fopen_s()函数—-fopen_s(指向该文件指针的指针, 文件路径, 文件使用方式);

1 errno_t err;

2 err = fopen_s(&fp, “E:\ww.txt”, “r”);

fread()函数—-fread(内存首地址, 数据块大小, 数据块个数, 文件指针);

1 char ss[20];

2 fread(ss, sizeof(char), 4, fp);

fwrite()函数—-fwrite(内存首地址, 数据块大小, 数据块个数, 文件指针);

1 char ss[20] = “aabb”;

2 fwrite(ss, sizeof(char), 4, fp);

fscanf_s()函数—-fscanf_s(文件指针, 格式参数, 存入地址, 字节数)

1 fscanf_s(fp, “%c”, &c,sizeof(char));

fprintf()函数—-fprintf(文件指针, 格式参数, 输出列表)

1 char c = ‘a’;

2 fprintf(fp, “%c”, c);

fseek()函数—-fseek(文件指针, 指针偏移量, 起始位置);

1 fseek(fp, sizeof(char), SEEK_SET);

fgets()函数—-fgets(内存首地址, 字符数, 文件指针);

1 char ss[20];

2 fgets(ss, 20, fp);

fgetc()函数—-fgetc(文件指针);

1 char ss[20];

2 ss[0] = fgetc(fp);

3 printf(“%c”, ss[0]);

fputc()函数—-fputc(变量名, 文件指针)

1 int c = ‘a’;

2 fputc(c, fp);

也可写成

fputc(‘c’, fp);

fputs()函数—-fputs(字符串, 文件指针)

1 char ss[20] = “aaaa”;

2 fputs(ss, fp);

也可写成

1 fputs(“aaaa”, fp);



版权声明:本文为weixin_45924062原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。