C语言数组

从键盘上接收一个字符串,保存到一个字符数组中。
然后从后面往前倒序输出这个字符串。例如:接收字符串为:“Jone”,则输出结果为“enoJ”。#include <stdio.h>
#include <stdlib.h>
int main(void){
 char arr[10];
 int n;
 printf("输入一个字符串:");
 fflush(stdout);
 gets(arr);
 n=strlen(arr);
 for(;n>=0;n--)
    printf("%c",arr[n]);
    return EXIT_SUCCESS;
}

(3) 分别使用char数组和string类对象实现下面任务:
(4) 编写一个程序,首先要求用户输入姓,然后输入名,然后使用一个逗号和空格将姓和名组合在一起,并存储和显示组合好的结果和结果的长度。下面是程序运行时的情形:
(5) Enter your first name: Li
(6) Enter your last name: Ming
(7) The name is: Li, Ming
(8) The length of name: 8
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void){
 char arr[10];
 char arr2[10];
 int age;
 printf("Enter your first name:\n");
 fflush(stdout);
 scanf("%s",arr);
 printf("Enter your last name:\n");
 fflush(stdout);
 scanf("%s",arr2);
 strcat(arr,", ");
 printf("The name is:%s\n",strcat(arr,arr2));


 printf("The length of name:%d",strlen(arr));

    return EXIT_SUCCESS;
}

从键盘上接收一个字符串,并统计其中字符的个数。


#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void){

 char arr[20];
  printf("请输入一个字符串:\n");
  fflush(stdout);
  gets(arr);
  printf("其中字符的个数:%d",strlen(arr));


    return EXIT_SUCCESS;
}

按照下面要求完成程序:
(1) 定义一个char数组address,使用memset对它进行初始化。
(2) 从键盘上接收一个字符串,保存到address中。
(3) 再从键盘上接收一个字符保存到字符变量findChar中。
(4) 要求从address中查找是否有字符findChar,输出找到的次数。例如:字符串为“ABCDEDS”,如果要查找字符‘D’,则应该输出2;如果要查找字符‘X’,则需要输出没有找到。

#include <stdio.h>
int main(void){

     int i,sum=0;
  char address[20];
  memset(address, '\0', 20);
  printf("请输入一个字符串:\n");
  fflush(stdout);
  gets(address);
  char findChar;
  printf("请再输入一个字符:\n");
  fflush(stdout);
  scanf("%c", &findChar);
  for (i = 0; i < strlen(address); i++) {
  if (address[i] == findChar) {
  sum++;
  }
  }
  if (sum!= 0) {
  printf("查找到了:%d", sum);
  } else {
  printf("没有找到!");

  }
(1) 定义一个包含有5个元素的int数组,并且初始化为0;
(2) 从键盘上接收5个整数,依次保存到int数组中。
(3) 要求你想办法,把数组的元素值倒序过来存储。例如:从键盘上接收数据后,数组元素存储的顺序依次为:
10 20 30 22 35
则在做完操作后使数组元素存储的顺序应该为:
35 22 30 20 10
(4) 完成倒序存储操作后,输出数组所有元素的值。


#include <stdio.h>
int main(void){
int arr[5] = { 0 };
  int i;
  printf("请输入5个整数:\n");
  fflush(stdout);
  for (i = 0; i < 5; i++) {
  scanf("%d", &arr[i]);
  printf("%d,", arr[i]);
  }
  printf("\n");
  for (i = 4; i >= 0; i--) {
  printf("%d,", arr[i]);
  }
return EXIT_SUCCESS;
}

输入一行字符,统计其中单词的个数,输入的单词之间用空格隔开。
#include <stdio.h>
#include<string.h>
#include <stdlib.h>
int main(void){
 char arr[100];
 int i,num=0,words=0;
 printf("请输入一行字符");
 fflush(stdout);
 gets(arr);
 for(i=0;i<strlen(arr);i++){
  if(arr[i]==' '){
   words=0;
  }else if(words==0){
   num++;
   words=1;
  }
 }
 printf("单词的个数是:%d\n",num);
 return EXIT_SUCCESS;
}
编写一个程序,将字符数组上s2中的全部字符复制到字符数组s1中。不应用strcpy函数。
#include <stdio.h>
#include <stdlib.h>
int main(void){
 char s1[80],s2[80];
 int i;
 printf("输出s2:");
 scanf("%s",s2);
 for(i=0;i<strlen(s2);i++)
  s1[i]=s2[i];
 printf("s1:%s\n",s1);

return EXIT_SUCCESS;
}
编写一程序,将两个字符串连接起来,s1接在s2的后面。
不应用strcat函数。
#include <stdio.h>
#include <stdlib.h>
int main(void){
 int i,j;
 char s1[100],s2[100],s3[100];
 gets(s1);
 gets(s2);
 for(i=0;s1[i]!='\0';i++)
  s3[i]=s1[i];
 for(j=0;s2[j]!='\0';j++)
  s3[j+i]=s2[j];

 printf("%s\n%s\n%s\n",s1,s2,s3);

return EXIT_SUCCESS;
}

应用二维数组数组输出棱形,(提示,*是字符)
       *
     ***
   *****
     ***
       *

#include <stdio.h>
void main()
{
   int i,j,k,l;
   for(i=4,l=1;i>0;i--,l++)
   {for(j=1;j<i;j++)
    printf("  ");
   for(k=1;k<=2*l-1;k++)
   printf(" *");
   printf("\n");
}
   for(i=1,l=3;i<4;i++,l--)
   {for(j=0;j<i;j++)
   printf("  ");
   for(k=1;k<=2*l-1;k++)
    printf(" *");
   printf("\n");
   }
}


 

【SCI一区复现】基于配电网韧性提升的应急移动电源预配置和动态调度(下)—MPS动态调度(Matlab代码实现)内容概要:本文档围绕“基于配电网韧性提升的应急移动电源预配置和动态调度”主题,重点介绍MPS(Mobile Power Sources)动态调度的Matlab代码实现,是SCI一区论文复现的技术资料。内容涵盖在灾害或故障等极端场景下,如何通过优化算法对应急移动电源进行科学调度,以提升配电网在突发事件中的恢复能力与供电可靠性。文档强调采用先进的智能优化算法进行建模求解,并结合IEEE标准测试系统(如IEEE33节点)进行仿真验证,具有较强的学术前沿性和工程应用价值。; 适合人群:具备电力系统基础知识和Matlab编程能力,从事电力系统优化、配电网韧性、应急电源调度等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于复现高水平期刊(SCI一区、IEEE顶刊)中关于配电网韧性与移动电源调度的研究成果;②支撑科研项目中的模型构建与算法开发,提升配电网在故障后的快速恢复能力;③为电力系统应急调度策略提供仿真工具与技术参考。; 阅读建议:建议结合前篇“MPS预配置”内容系统学习,重点关注动态调度模型的数学建模、目标函数设计与Matlab代码实现细节,建议配合YALMIP等优化工具包进行仿真实验,并参考文中提供的网盘资源获取完整代码与数据。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值